# Python: module fabmetheus_utilities.xml_simple_reader

fabmetheus_utilities.xml_simple_reader ($Date: 2008/21/04 $) | index /home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/fabmetheus_utilities/xml_simple_reader.py

`The xml_simple_reader.py script is an xml parser that can parse a line separated xml text.
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.
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.
> python
Python 2.5.1 (r251:54863, Sep 22 2007, 01:43:31)
[GCC 4.2.1 (SUSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> fileName = 'boolean.xml'
>>> file = open(fileName, 'r')
>>> xmlText = file.read()
>>> file.close()
>>> from xml_simple_reader import XMLSimpleReader
>>> xmlParser = XMLSimpleReader(fileName, None, xmlText)
>>> print( xmlParser )
?xml, {'version': '1.0'}
ArtOfIllusion, {'xmlns:bf': '//babelfiche/codec', 'version': '2.0', 'fileversion': '3'}
Scene, {'bf:id': 'theScene'}
materials, {'bf:elem-type': 'java.lang.Object', 'bf:list': 'collection', 'bf:id': '1', 'bf:type': 'java.util.Vector'}
..
many more lines of the xml tree
..`

Modules

``

__init__ cStringIO | fabmetheus_utilities.euclidean fabmetheus_utilities.geometry.geometry_utilities.evaluate | fabmetheus_utilities.gcodec fabmetheus_utilities.xml_simple_writer |

Classes

``

XMLElement
XMLSimpleReader

class XMLElement
`` | `An xml element.`

Methods defined here:

__init__(self)
  `Add empty lists.`

__repr__(self)
  `Get the string representation of this XML element.`

addAttribute(self, beforeQuote, withinQuote)
  `Add the attribute to the dictionary.`

addToIDDictionary(self, idKey, xmlElement)
  `Add to the id dictionary of all the XMLProcessor.`

addToIDDictionaryIFIDExists(self)
  `Add to the id dictionary if the id key exists in the attribute dictionary.`

addToNameDictionary(self, name, xmlElement)
  `Add to the name dictionary of all the XMLProcessor.`

addXML(self, depth, output)
  `Add xml for this object.`

copyXMLChildren(self, idSuffix, parent)
  `Copy the xml children.`

getCascadeFloat(self, defaultFloat, key)
  `Get the cascade float.`

getCascadeImportName(self)
  `Get the cascade import file name.`

getCascadeValue(self, defaultValue, key)
  `Get the cascade value.`

getChildrenWithClassName(self, className)
  `Get the children which have the given class name.`

getCopy(self, idSuffix, parent)
  `Copy the xml element and add it to the parent.`

getFirstChildWithClassName(self, className)
  `Get the first child which has the given class name.`

getIDSuffix(self, elementIndex=None)
  `Get the id suffix from the dictionary.`

getImportNameWithDot(self)
  `Get import name with dot.`

getParentParseReplacedLine(self, line, lineStripped, parent)
  `Parse replaced line and return the parent.`

getParser(self)
  `Get the parser.`

getPaths(self)
  `Get all paths.`

getPreviousVertex(self, defaultVector3=None)
  `Get previous vertex if it exists.`

getPreviousXMLElement(self)
  `Get previous XMLElement if it exists.`

getRoot(self)
  `Get the root element.`

getShallowCopy(self, attributeDictionary)
  `Copy the xml element and set its dictionary.`

getSubChildWithID(self, idReference)
  `Get the child which has the idReference.`

getValueByKey(self, key)
  `Get value by the key.`

getVertexes(self)
  `Get the vertexes.`

getXMLElementByID(self, idKey)
  `Get the xml element by id.`

getXMLElementByImportID(self, idKey)
  `Get the xml element by import file name and id.`

getXMLElementsByImportName(self, name)
  `Get the xml element by import file name and name.`

getXMLElementsByName(self, name)
  `Get the xml elements by name.`

getXMLProcessor(self)
  `Get the xmlProcessor.`

removeChildrenFromIDNameParent(self)
  `Remove the children from the id and name dictionaries and the children list.`

removeFromIDNameParent(self)
  `Remove this from the id and name dictionaries and the children of the parent.`

setParentAddToChildren(self, parent)
  `Set the parent and add this to its children.`

class XMLSimpleReader
`` | `A simple xml parser.`

Methods defined here:

__init__(self, fileName, parent, xmlText)
  `Add empty lists.`

__repr__(self)
  `Get the string representation of this parser.`

getOriginalRoot(self)
  `Get the original reparsed root element.`

getRoot(self)
  `Get the root element.`

parseLine(self, line)
  `Parse an xml line and add it to the xml tree.`

Data

``

__author__ = 'Enrique Perez (perez_enrique@yahoo.com)'
__credits__ = 'Nophead <http://hydraraptor.blogspot.com/>\nArt of Illusion <http://www.artofillusion.org/>'
__date__ = '$Date: 2008/21/04 $'
__license__ = 'GPL 3.0'
absolute_import = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)
globalAccessibleAttributeSet = set(['getPaths', 'getPreviousVertex', 'getPreviousXMLElement', 'getVertexes', 'parent'])

Author
`` |  | Enrique Perez (perez_enrique@yahoo.com)

Credits
`` |  | Nophead <http://hydraraptor.blogspot.com/> Art of Illusion <http://www.artofillusion.org/>