40 convert2xml(filename) |
40 convert2xml(filename) |
41 |
41 |
42 |
42 |
43 """ |
43 """ |
44 def convert2docbook(xml_string): |
44 def convert2docbook(xml_string): |
45 # xml_file_obj=open(file,'r') |
45 |
46 # xml_string=xml_file_obj.read() |
46 xml_string=re.sub('<strong>','<emphasis role="strong">', xml_string) |
47 # xml_file_obj.close() |
47 xml_string=re.sub('<literal_block xml:space="preserve">','<programlisting>',xml_string) |
48 try: |
48 xml_string=re.sub('</literal_block>','</programlisting>',xml_string) |
49 xml_string=re.sub('<strong>','<emphasis role="strong">', xml_string) |
49 xml_string=re.sub('<paragraph>' ,'<para>',xml_string) |
50 xml_string=re.sub('<literal_block','<programlisting>',xml_string) |
50 xml_string=re.sub('</paragraph>' ,'</para>',xml_string) |
51 xml_string=re.sub('</literal_block>','</programlisting>',xml_string) |
51 xml_string=re.sub('</strong>' ,'</emphasis>',xml_string) |
52 xml_string=re.sub('xml:space="preserve">','',xml_string) |
52 xml_string=re.sub('<bullet_list bullet="[-*+]">','<itemizedlist mark="*">',xml_string,) |
53 xml_string=re.sub('<paragraph>' ,'<para>',xml_string) |
53 xml_string=re.sub('</bullet_list>','</itemizedlist>',xml_string) |
54 xml_string=re.sub('</paragraph>' ,'</para>',xml_string) |
54 xml_string=re.sub('<list_item>','<listitem>',xml_string) |
55 xml_string=re.sub('</strong>' ,'</emphasis>',xml_string) |
55 xml_string=re.sub('</list_item>','</listitem>',xml_string) |
56 chapter= ET.Element("chapter") |
56 xml_string=re.sub('<enumerated_list enumtype="arabic" prefix="" suffix=".">', '<orderedlist numeration="arabic">',xml_string) |
57 article=ET.SubElement(chapter,"article") |
57 xml_string=re.sub('</enumerated_list>', '</orderedlist>',xml_string) |
58 articleinfo=ET.SubElement(article,"articleinfo") |
58 xml_string=re.sub('<entry>', '',xml_string) |
59 tree = ET.fromstring(xml_string) |
59 xml_string=re.sub('</entry>', '',xml_string) |
60 title= ET.SubElement(articleinfo,"title") |
60 xml_string=re.sub('<row>', '',xml_string) |
61 try: |
61 xml_string=re.sub('</row>', '',xml_string) |
62 title.text=tree.items()[1][1] |
62 xml_string=re.sub('<tbody>', '',xml_string) |
63 except: |
63 xml_string=re.sub('</tbody>', '',xml_string) |
64 pass |
64 xml_string=re.sub('<table>', '',xml_string) |
65 article.insert(1,tree) |
65 xml_string=re.sub('</table>', '',xml_string) |
66 xml_string=ET.tostring(chapter) |
66 xml_string=re.sub('<thead>', '',xml_string) |
67 xml_string=re.sub('<document ids=.*">' ,'',xml_string) |
67 xml_string=re.sub('</thead>', '',xml_string) |
68 xml_string=re.sub('</document>' ,'',xml_string) |
68 # xml_string=re.sub('<tgroup cols="[1-90]*"><colspec colwidth="[1-90]*"/><colspec colwidth="[1-90]*"/><colspec colwidth="[1-90]"/>', '',xml_string) |
69 return xml_string |
69 # xml_string=re.sub('</tgroup', '',xml_string) |
70 # docbook_file=file.split('.')[0]+'.docbook' |
70 chapter= ET.Element("chapter") |
71 # f=open(docbook_file,'w') |
71 article=ET.SubElement(chapter,"article") |
72 # f.write(xml_string) |
72 articleinfo=ET.SubElement(article,"articleinfo") |
73 # xml_string=None |
73 |
74 except : |
74 try: |
75 pass |
75 tree = ET.fromstring(xml_string) |
|
76 except: |
|
77 print "xml_string problem" |
|
78 # print "fromstring" |
|
79 try: |
|
80 title= ET.SubElement(articleinfo,"title") |
|
81 title.text=tree.items()[1][1] |
|
82 except: |
|
83 pass |
|
84 article.insert(1,tree) |
|
85 xml_string=ET.tostring(chapter) |
|
86 xml_string=re.sub('<document [A-Za-z=/_."]*>' ,'',xml_string) |
|
87 xml_string=re.sub('</document>' ,'',xml_string) |
|
88 return xml_string |
|
89 |
|
90 |
76 |
91 |
77 |
92 |
78 |
93 |
79 |
94 |
80 if __name__=='__main__': |
95 if __name__=='__main__': |
81 # repo='/home/amit/sphinxvirt/review/' |
96 for name in names: |
82 # walk(repo) |
97 #print name |
83 # convert(1,2,3) |
98 #xml_string=open(name,'r').read() |
84 for name in names: |
99 xml_string=open('ch9Using_Linux_Tools.xml','r').read() |
85 print name |
100 xml_string=convert2docbook(xml_string) |
86 xml_string=open(name,'r').read() |
101 docbook_file=name.split('.')[0]+'.docbook' |
87 |
102 f=open(docbook_file,'w') |
88 xml_string=convert2docbook(xml_string) |
103 try: |
89 docbook_file=name.split('.')[0]+'.docbook' |
104 f.write(xml_string) |
90 f=open(docbook_file,'w') |
105 except: |
91 try: |
106 pass |
92 f.write(xml_string) |
|
93 except: |
|
94 pass |
|
95 |
107 |
96 |
108 |
97 |
109 |
98 |
110 |
99 |
111 |