PageRenderTime 66ms CodeModel.GetById 30ms RepoModel.GetById 0ms app.codeStats 0ms

/documentation/fabmetheus_utilities.xml_simple_reader.html

https://github.com/jmil/SFACT
HTML | 205 lines | 153 code | 52 blank | 0 comment | 0 complexity | a70ea7241a1b94d82d6d8863f9e841e0 MD5 | raw file
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <html><head><title>Python: module fabmetheus_utilities.xml_simple_reader</title>
  3. </head><body bgcolor="#f0f0f8">
  4. <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
  5. <tr bgcolor="#7799ee">
  6. <td valign=bottom>&nbsp;<br>
  7. <font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="fabmetheus_utilities.html"><font color="#ffffff">fabmetheus_utilities</font></a>.xml_simple_reader</strong></big></big> ($Date: 2008/21/04 $)</font></td
  8. ><td align=right valign=bottom
  9. ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/fabmetheus_utilities/xml_simple_reader.py">/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/fabmetheus_utilities/xml_simple_reader.py</a></font></td></tr></table>
  10. <p><tt>The xml_simple_reader.py script is an xml parser that can parse a line separated xml text.<br>
  11. <br>
  12. This xml parser will read a line seperated xml text and produce a tree of the xml with a root element. Each element can have an attribute table, children, a class name, parent, text and a link to the root element.<br>
  13. <br>
  14. This example gets an xml tree for the xml file boolean.xml. This example is run in a terminal in the folder which contains boolean.xml and xml_simple_reader.py.<br>
  15. <br>
  16. <br>
  17. &gt; python<br>
  18. Python 2.5.1 (r251:54863, Sep 22 2007, 01:43:31)<br>
  19. [GCC 4.2.1 (SUSE Linux)] on linux2<br>
  20. Type "help", "copyright", "credits" or "license" for more information.<br>
  21. &gt;&gt;&gt; fileName = 'boolean.xml'<br>
  22. &gt;&gt;&gt; file = open(fileName, 'r')<br>
  23. &gt;&gt;&gt; xmlText = file.read()<br>
  24. &gt;&gt;&gt; file.close()<br>
  25. &gt;&gt;&gt; from xml_simple_reader import <a href="#XMLSimpleReader">XMLSimpleReader</a><br>
  26. &gt;&gt;&gt; xmlParser = <a href="#XMLSimpleReader">XMLSimpleReader</a>(fileName, None, xmlText)<br>
  27. &gt;&gt;&gt; print( xmlParser )<br>
  28. ?xml, {'version': '1.0'}<br>
  29. ArtOfIllusion, {'xmlns:bf': '//babelfiche/codec', 'version': '2.0', 'fileversion': '3'}<br>
  30. Scene, {'bf:id': 'theScene'}<br>
  31. materials, {'bf:elem-type': 'java.lang.Object', 'bf:list': 'collection', 'bf:id': '1', 'bf:type': 'java.util.Vector'}<br>
  32. ..<br>
  33. many more lines of the xml tree<br>
  34. ..</tt></p>
  35. <p>
  36. <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
  37. <tr bgcolor="#aa55cc">
  38. <td colspan=3 valign=bottom>&nbsp;<br>
  39. <font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
  40. <tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
  41. <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
  42. <a href="fabmetheus_utilities.archive.html">fabmetheus_utilities.archive</a><br>
  43. </td><td width="25%" valign=top><a href="cStringIO.html">cStringIO</a><br>
  44. <a href="fabmetheus_utilities.euclidean.html">fabmetheus_utilities.euclidean</a><br>
  45. </td><td width="25%" valign=top><a href="fabmetheus_utilities.geometry.geometry_utilities.evaluate.html">fabmetheus_utilities.geometry.geometry_utilities.evaluate</a><br>
  46. <a href="fabmetheus_utilities.gcodec.html">fabmetheus_utilities.gcodec</a><br>
  47. </td><td width="25%" valign=top><a href="fabmetheus_utilities.geometry.geometry_utilities.matrix.html">fabmetheus_utilities.geometry.geometry_utilities.matrix</a><br>
  48. <a href="fabmetheus_utilities.xml_simple_writer.html">fabmetheus_utilities.xml_simple_writer</a><br>
  49. </td></tr></table></td></tr></table><p>
  50. <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
  51. <tr bgcolor="#ee77aa">
  52. <td colspan=3 valign=bottom>&nbsp;<br>
  53. <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
  54. <tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
  55. <td width="100%"><dl>
  56. <dt><font face="helvetica, arial"><a href="fabmetheus_utilities.xml_simple_reader.html#XMLElement">XMLElement</a>
  57. </font></dt><dt><font face="helvetica, arial"><a href="fabmetheus_utilities.xml_simple_reader.html#XMLSimpleReader">XMLSimpleReader</a>
  58. </font></dt></dl>
  59. <p>
  60. <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
  61. <tr bgcolor="#ffc8d8">
  62. <td colspan=3 valign=bottom>&nbsp;<br>
  63. <font color="#000000" face="helvetica, arial"><a name="XMLElement">class <strong>XMLElement</strong></a></font></td></tr>
  64. <tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
  65. <td colspan=2><tt>An&nbsp;xml&nbsp;element.<br>&nbsp;</tt></td></tr>
  66. <tr><td>&nbsp;</td>
  67. <td width="100%">Methods defined here:<br>
  68. <dl><dt><a name="XMLElement-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Add&nbsp;empty&nbsp;lists.</tt></dd></dl>
  69. <dl><dt><a name="XMLElement-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;XML&nbsp;element.</tt></dd></dl>
  70. <dl><dt><a name="XMLElement-addAttribute"><strong>addAttribute</strong></a>(self, beforeQuote, withinQuote)</dt><dd><tt>Add&nbsp;the&nbsp;attribute&nbsp;to&nbsp;the&nbsp;dictionary.</tt></dd></dl>
  71. <dl><dt><a name="XMLElement-addSuffixToID"><strong>addSuffixToID</strong></a>(self, idSuffix)</dt><dd><tt>Add&nbsp;the&nbsp;suffix&nbsp;to&nbsp;the&nbsp;id.</tt></dd></dl>
  72. <dl><dt><a name="XMLElement-addToIdentifierDictionaryIFIdentifierExists"><strong>addToIdentifierDictionaryIFIdentifierExists</strong></a>(self)</dt><dd><tt>Add&nbsp;to&nbsp;the&nbsp;id&nbsp;dictionary&nbsp;if&nbsp;the&nbsp;id&nbsp;key&nbsp;exists&nbsp;in&nbsp;the&nbsp;attribute&nbsp;dictionary.</tt></dd></dl>
  73. <dl><dt><a name="XMLElement-addXML"><strong>addXML</strong></a>(self, depth, output)</dt><dd><tt>Add&nbsp;xml&nbsp;for&nbsp;this&nbsp;xmlElement.</tt></dd></dl>
  74. <dl><dt><a name="XMLElement-copyXMLChildren"><strong>copyXMLChildren</strong></a>(self, idSuffix, parent)</dt><dd><tt>Copy&nbsp;the&nbsp;xml&nbsp;children.</tt></dd></dl>
  75. <dl><dt><a name="XMLElement-getCascadeFloat"><strong>getCascadeFloat</strong></a>(self, defaultFloat, key)</dt><dd><tt>Get&nbsp;the&nbsp;cascade&nbsp;float.</tt></dd></dl>
  76. <dl><dt><a name="XMLElement-getChildrenWithClassName"><strong>getChildrenWithClassName</strong></a>(self, className)</dt><dd><tt>Get&nbsp;the&nbsp;children&nbsp;which&nbsp;have&nbsp;the&nbsp;given&nbsp;class&nbsp;name.</tt></dd></dl>
  77. <dl><dt><a name="XMLElement-getChildrenWithClassNameRecursively"><strong>getChildrenWithClassNameRecursively</strong></a>(self, className)</dt><dd><tt>Get&nbsp;the&nbsp;children&nbsp;which&nbsp;have&nbsp;the&nbsp;given&nbsp;class&nbsp;name&nbsp;recursively.</tt></dd></dl>
  78. <dl><dt><a name="XMLElement-getCopy"><strong>getCopy</strong></a>(self, idSuffix, parent)</dt><dd><tt>Copy&nbsp;the&nbsp;xml&nbsp;element,&nbsp;set&nbsp;its&nbsp;dictionary&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;parent.</tt></dd></dl>
  79. <dl><dt><a name="XMLElement-getCopyShallow"><strong>getCopyShallow</strong></a>(self, attributeDictionary<font color="#909090">=None</font>)</dt><dd><tt>Copy&nbsp;the&nbsp;xml&nbsp;element&nbsp;and&nbsp;set&nbsp;its&nbsp;dictionary&nbsp;and&nbsp;parent.</tt></dd></dl>
  80. <dl><dt><a name="XMLElement-getFirstChildWithClassName"><strong>getFirstChildWithClassName</strong></a>(self, className)</dt><dd><tt>Get&nbsp;the&nbsp;first&nbsp;child&nbsp;which&nbsp;has&nbsp;the&nbsp;given&nbsp;class&nbsp;name.</tt></dd></dl>
  81. <dl><dt><a name="XMLElement-getIDSuffix"><strong>getIDSuffix</strong></a>(self, elementIndex<font color="#909090">=None</font>)</dt><dd><tt>Get&nbsp;the&nbsp;id&nbsp;suffix&nbsp;from&nbsp;the&nbsp;dictionary.</tt></dd></dl>
  82. <dl><dt><a name="XMLElement-getImportNameWithDot"><strong>getImportNameWithDot</strong></a>(self)</dt><dd><tt>Get&nbsp;import&nbsp;name&nbsp;with&nbsp;dot.</tt></dd></dl>
  83. <dl><dt><a name="XMLElement-getParentParseReplacedLine"><strong>getParentParseReplacedLine</strong></a>(self, line, lineStripped, parent)</dt><dd><tt>Parse&nbsp;replaced&nbsp;line&nbsp;and&nbsp;return&nbsp;the&nbsp;parent.</tt></dd></dl>
  84. <dl><dt><a name="XMLElement-getParser"><strong>getParser</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;parser.</tt></dd></dl>
  85. <dl><dt><a name="XMLElement-getPaths"><strong>getPaths</strong></a>(self)</dt><dd><tt>Get&nbsp;all&nbsp;paths.</tt></dd></dl>
  86. <dl><dt><a name="XMLElement-getPreviousVertex"><strong>getPreviousVertex</strong></a>(self, defaultVector3<font color="#909090">=None</font>)</dt><dd><tt>Get&nbsp;previous&nbsp;vertex&nbsp;if&nbsp;it&nbsp;exists.</tt></dd></dl>
  87. <dl><dt><a name="XMLElement-getPreviousXMLElement"><strong>getPreviousXMLElement</strong></a>(self)</dt><dd><tt>Get&nbsp;previous&nbsp;<a href="#XMLElement">XMLElement</a>&nbsp;if&nbsp;it&nbsp;exists.</tt></dd></dl>
  88. <dl><dt><a name="XMLElement-getRoot"><strong>getRoot</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;root&nbsp;element.</tt></dd></dl>
  89. <dl><dt><a name="XMLElement-getSubChildWithID"><strong>getSubChildWithID</strong></a>(self, idReference)</dt><dd><tt>Get&nbsp;the&nbsp;child&nbsp;which&nbsp;has&nbsp;the&nbsp;idReference.</tt></dd></dl>
  90. <dl><dt><a name="XMLElement-getTagKeys"><strong>getTagKeys</strong></a>(self)</dt><dd><tt>Get&nbsp;stripped&nbsp;tag&nbsp;keys.</tt></dd></dl>
  91. <dl><dt><a name="XMLElement-getValueByKey"><strong>getValueByKey</strong></a>(self, key)</dt><dd><tt>Get&nbsp;value&nbsp;by&nbsp;the&nbsp;key.</tt></dd></dl>
  92. <dl><dt><a name="XMLElement-getVertexes"><strong>getVertexes</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;vertexes.</tt></dd></dl>
  93. <dl><dt><a name="XMLElement-getXMLElementByID"><strong>getXMLElementByID</strong></a>(self, idKey)</dt><dd><tt>Get&nbsp;the&nbsp;xml&nbsp;element&nbsp;by&nbsp;id.</tt></dd></dl>
  94. <dl><dt><a name="XMLElement-getXMLElementByImportID"><strong>getXMLElementByImportID</strong></a>(self, idKey)</dt><dd><tt>Get&nbsp;the&nbsp;xml&nbsp;element&nbsp;by&nbsp;import&nbsp;file&nbsp;name&nbsp;and&nbsp;id.</tt></dd></dl>
  95. <dl><dt><a name="XMLElement-getXMLElementsByImportName"><strong>getXMLElementsByImportName</strong></a>(self, name)</dt><dd><tt>Get&nbsp;the&nbsp;xml&nbsp;element&nbsp;by&nbsp;import&nbsp;file&nbsp;name&nbsp;and&nbsp;name.</tt></dd></dl>
  96. <dl><dt><a name="XMLElement-getXMLElementsByName"><strong>getXMLElementsByName</strong></a>(self, name)</dt><dd><tt>Get&nbsp;the&nbsp;xml&nbsp;elements&nbsp;by&nbsp;name.</tt></dd></dl>
  97. <dl><dt><a name="XMLElement-getXMLElementsByTag"><strong>getXMLElementsByTag</strong></a>(self, tag)</dt><dd><tt>Get&nbsp;the&nbsp;xml&nbsp;elements&nbsp;by&nbsp;tag.</tt></dd></dl>
  98. <dl><dt><a name="XMLElement-getXMLProcessor"><strong>getXMLProcessor</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;xmlProcessor.</tt></dd></dl>
  99. <dl><dt><a name="XMLElement-linkObject"><strong>linkObject</strong></a>(self, xmlObject)</dt><dd><tt>Link&nbsp;self&nbsp;to&nbsp;xmlObject&nbsp;and&nbsp;add&nbsp;xmlObject&nbsp;to&nbsp;archivableObjects.</tt></dd></dl>
  100. <dl><dt><a name="XMLElement-printAllVariables"><strong>printAllVariables</strong></a>(self)</dt><dd><tt>Print&nbsp;all&nbsp;variables.</tt></dd></dl>
  101. <dl><dt><a name="XMLElement-printAllVariablesRoot"><strong>printAllVariablesRoot</strong></a>(self)</dt><dd><tt>Print&nbsp;all&nbsp;variables&nbsp;and&nbsp;the&nbsp;root&nbsp;variables.</tt></dd></dl>
  102. <dl><dt><a name="XMLElement-removeChildrenFromIDNameParent"><strong>removeChildrenFromIDNameParent</strong></a>(self)</dt><dd><tt>Remove&nbsp;the&nbsp;children&nbsp;from&nbsp;the&nbsp;id&nbsp;and&nbsp;name&nbsp;dictionaries&nbsp;and&nbsp;the&nbsp;children&nbsp;list.</tt></dd></dl>
  103. <dl><dt><a name="XMLElement-removeFromIDNameParent"><strong>removeFromIDNameParent</strong></a>(self)</dt><dd><tt>Remove&nbsp;this&nbsp;from&nbsp;the&nbsp;id&nbsp;and&nbsp;name&nbsp;dictionaries&nbsp;and&nbsp;the&nbsp;children&nbsp;of&nbsp;the&nbsp;parent.</tt></dd></dl>
  104. <dl><dt><a name="XMLElement-setParentAddToChildren"><strong>setParentAddToChildren</strong></a>(self, parent)</dt><dd><tt>Set&nbsp;the&nbsp;parent&nbsp;and&nbsp;add&nbsp;this&nbsp;to&nbsp;its&nbsp;children.</tt></dd></dl>
  105. </td></tr></table> <p>
  106. <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
  107. <tr bgcolor="#ffc8d8">
  108. <td colspan=3 valign=bottom>&nbsp;<br>
  109. <font color="#000000" face="helvetica, arial"><a name="XMLSimpleReader">class <strong>XMLSimpleReader</strong></a></font></td></tr>
  110. <tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
  111. <td colspan=2><tt>A&nbsp;simple&nbsp;xml&nbsp;parser.<br>&nbsp;</tt></td></tr>
  112. <tr><td>&nbsp;</td>
  113. <td width="100%">Methods defined here:<br>
  114. <dl><dt><a name="XMLSimpleReader-__init__"><strong>__init__</strong></a>(self, fileName, parent, xmlText)</dt><dd><tt>Add&nbsp;empty&nbsp;lists.</tt></dd></dl>
  115. <dl><dt><a name="XMLSimpleReader-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;parser.</tt></dd></dl>
  116. <dl><dt><a name="XMLSimpleReader-getOriginalRoot"><strong>getOriginalRoot</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;original&nbsp;reparsed&nbsp;root&nbsp;element.</tt></dd></dl>
  117. <dl><dt><a name="XMLSimpleReader-getRoot"><strong>getRoot</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;root&nbsp;element.</tt></dd></dl>
  118. <dl><dt><a name="XMLSimpleReader-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;an&nbsp;xml&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;xml&nbsp;tree.</tt></dd></dl>
  119. </td></tr></table></td></tr></table><p>
  120. <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
  121. <tr bgcolor="#eeaa77">
  122. <td colspan=3 valign=bottom>&nbsp;<br>
  123. <font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
  124. <tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
  125. <td width="100%"><dl><dt><a name="-addXMLLine"><strong>addXMLLine</strong></a>(line, xmlLines)</dt><dd><tt>Get&nbsp;the&nbsp;all&nbsp;the&nbsp;xml&nbsp;lines&nbsp;of&nbsp;a&nbsp;text.</tt></dd></dl>
  126. <dl><dt><a name="-getXMLLines"><strong>getXMLLines</strong></a>(text)</dt><dd><tt>Get&nbsp;the&nbsp;all&nbsp;the&nbsp;xml&nbsp;lines&nbsp;of&nbsp;a&nbsp;text.</tt></dd></dl>
  127. <dl><dt><a name="-getXMLTagSplitLines"><strong>getXMLTagSplitLines</strong></a>(combinedLine)</dt><dd><tt>Get&nbsp;the&nbsp;xml&nbsp;lines&nbsp;split&nbsp;at&nbsp;a&nbsp;tag.</tt></dd></dl>
  128. </td></tr></table><p>
  129. <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
  130. <tr bgcolor="#55aa55">
  131. <td colspan=3 valign=bottom>&nbsp;<br>
  132. <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
  133. <tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
  134. <td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
  135. <strong>__credits__</strong> = 'Nophead &lt;http://hydraraptor.blogspot.com/&gt;<font color="#c040c0">\n</font>Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
  136. <strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
  137. <strong>__license__</strong> = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html'<br>
  138. <strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)<br>
  139. <strong>globalGetAccessibleAttributeSet</strong> = set(['getPaths', 'getPreviousVertex', 'getPreviousXMLElement', 'getVertexes', 'parent'])</td></tr></table><p>
  140. <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
  141. <tr bgcolor="#7799ee">
  142. <td colspan=3 valign=bottom>&nbsp;<br>
  143. <font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
  144. <tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
  145. <td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
  146. <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
  147. <tr bgcolor="#7799ee">
  148. <td colspan=3 valign=bottom>&nbsp;<br>
  149. <font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
  150. <tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
  151. <td width="100%">Nophead&nbsp;&lt;<a href="http://hydraraptor.blogspot.com/">http://hydraraptor.blogspot.com/</a>&gt;<br>
  152. Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
  153. </body></html>