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 document element. Each element can have an attribute table, childNodes, a class name, parentNode, text and a link to the document 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 DocumentNode
>>> xmlParser = DocumentNode(fileName, 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__ fabmetheus_utilities.archive | cStringIO fabmetheus_utilities.euclidean | fabmetheus_utilities.geometry.geometry_utilities.evaluate fabmetheus_utilities.geometry.geometry_utilities.matrix | fabmetheus_utilities.xml_simple_writer

Classes
`` |  | CDATASectionMonad CommentMonad DocumentTypeMonad CDATASectionNode CommentNode DocumentTypeNode TextNode DocumentNode ElementEndMonad OpenChooseMonad OpenMonad ElementLocalNameMonad ElementNode ElementReadMonad KeyMonad TextMonad ValueMonad
class CDATASectionMonad
`` | `A monad to handle a CDATASection node.`
| Methods defined here: __init__(self, input, parentNode) `Initialize.` getNextMonad(self, character) `Get the next monad.`
class CDATASectionNode
`` | `A CDATASection node.`
| Methods defined here: __init__(self, parentNode, textContent='') `Initialize.` __repr__(self) `Get the string representation of this CDATASection node.` addToIdentifierDictionaries(self) `Add the element to the owner document identifier dictionaries.` addXML(self, depth, output) `Add xml for this CDATASection node.` appendSelfToParent(self) `Append self to the parentNode.` copyXMLChildNodes(self, idSuffix, parentNode) `Copy the xml childNodes.` getAttributes(self) `Get the attributes.` getChildNodes(self) `Get the empty set.` getCopy(self, idSuffix, parentNode) `Copy the xml element, set its dictionary and add it to the parentNode.` getCopyShallow(self, attributes=None) `Copy the node and set its parentNode.` getNodeName(self) `Get the node name.` getNodeType(self) `Get the node type.` getOwnerDocument(self) `Get the owner document.` getTextContent(self) `Get the text content.` removeChildNodesFromIDNameParent(self) `Remove the childNodes from the id and name dictionaries and the childNodes.` removeFromIDNameParent(self) `Remove this from the id and name dictionaries and the childNodes of the parentNode.` setParentAddToChildNodes(self, parentNode) `Set the parentNode and add this to its childNodes.` Data descriptors defined here: attributes `Get the attributes.` childNodes `Get the empty set.` nodeName `Get the node name.` nodeType `Get the node type.` ownerDocument `Get the owner document.`
class CommentMonad(CDATASectionMonad)
`` | `A monad to handle a comment node.`
| Methods defined here: getNextMonad(self, character) `Get the next monad.` Methods inherited from CDATASectionMonad: __init__(self, input, parentNode) `Initialize.`
class CommentNode(CDATASectionNode)
`` | `A comment node.`
| Methods defined here: getCopyShallow(self, attributes=None) `Copy the node and set its parentNode.` getNodeName(self) `Get the node name.` getNodeType(self) `Get the node type.` Data descriptors defined here: nodeName `Get the node name.` nodeType `Get the node type.` Methods inherited from CDATASectionNode: __init__(self, parentNode, textContent='') `Initialize.` __repr__(self) `Get the string representation of this CDATASection node.` addToIdentifierDictionaries(self) `Add the element to the owner document identifier dictionaries.` addXML(self, depth, output) `Add xml for this CDATASection node.` appendSelfToParent(self) `Append self to the parentNode.` copyXMLChildNodes(self, idSuffix, parentNode) `Copy the xml childNodes.` getAttributes(self) `Get the attributes.` getChildNodes(self) `Get the empty set.` getCopy(self, idSuffix, parentNode) `Copy the xml element, set its dictionary and add it to the parentNode.` getOwnerDocument(self) `Get the owner document.` getTextContent(self) `Get the text content.` removeChildNodesFromIDNameParent(self) `Remove the childNodes from the id and name dictionaries and the childNodes.` removeFromIDNameParent(self) `Remove this from the id and name dictionaries and the childNodes of the parentNode.` setParentAddToChildNodes(self, parentNode) `Set the parentNode and add this to its childNodes.` Data descriptors inherited from CDATASectionNode: attributes `Get the attributes.` childNodes `Get the empty set.` ownerDocument `Get the owner document.`
class DocumentNode
`` | `A class to parse an xml text and store the elements.`
| Methods defined here: __init__(self, fileName, xmlText) `Initialize.` __repr__(self) `Get the string representation of this xml document.` appendChild(self, elementNode) `Append child elementNode to the child nodes.` getAttributes(self) `Get the attributes.` getCascadeBoolean(self, defaultBoolean, key) `Get the cascade boolean.` getCascadeFloat(self, defaultFloat, key) `Get the cascade float.` getDocumentElement(self) `Get the document element.` getImportNameChain(self, suffix='') `Get the import name chain with the suffix at the end.` getNodeName(self) `Get the node name.` getNodeType(self) `Get the node type.` getOriginalRoot(self) `Get the original reparsed document element.` getOwnerDocument(self) `Get the owner document.` Data descriptors defined here: attributes `Get the attributes.` documentElement `Get the document element.` nodeName `Get the node name.` nodeType `Get the node type.` ownerDocument `Get the owner document.`
class DocumentTypeMonad(CDATASectionMonad)
`` | `A monad to handle a document type node.`
| Methods defined here: getNextMonad(self, character) `Get the next monad.` Methods inherited from CDATASectionMonad: __init__(self, input, parentNode) `Initialize.`
class DocumentTypeNode(CDATASectionNode)
`` | `A document type node.`
| Methods defined here: getCopyShallow(self, attributes=None) `Copy the node and set its parentNode.` getNodeName(self) `Get the node name.` getNodeType(self) `Get the node type.` Data descriptors defined here: nodeName `Get the node name.` nodeType `Get the node type.` Methods inherited from CDATASectionNode: __init__(self, parentNode, textContent='') `Initialize.` __repr__(self) `Get the string representation of this CDATASection node.` addToIdentifierDictionaries(self) `Add the element to the owner document identifier dictionaries.` addXML(self, depth, output) `Add xml for this CDATASection node.` appendSelfToParent(self) `Append self to the parentNode.` copyXMLChildNodes(self, idSuffix, parentNode) `Copy the xml childNodes.` getAttributes(self) `Get the attributes.` getChildNodes(self) `Get the empty set.` getCopy(self, idSuffix, parentNode) `Copy the xml element, set its dictionary and add it to the parentNode.` getOwnerDocument(self) `Get the owner document.` getTextContent(self) `Get the text content.` removeChildNodesFromIDNameParent(self) `Remove the childNodes from the id and name dictionaries and the childNodes.` removeFromIDNameParent(self) `Remove this from the id and name dictionaries and the childNodes of the parentNode.` setParentAddToChildNodes(self, parentNode) `Set the parentNode and add this to its childNodes.` Data descriptors inherited from CDATASectionNode: attributes `Get the attributes.` childNodes `Get the empty set.` ownerDocument `Get the owner document.`
class ElementEndMonad
`` | `A monad to look for the end of an ElementNode tag.`
| Methods defined here: __init__(self, parentNode) `Initialize.` getNextMonad(self, character) `Get the next monad.`
class ElementLocalNameMonad
`` | `A monad to set the local name of an ElementNode.`
| Methods defined here: __init__(self, character, parentNode) `Initialize.` getNextMonad(self, character) `Get the next monad.` setLocalName(self) `Set the class name.`
class ElementNode
`` | `An xml element.`
| Methods defined here: __init__(self, parentNode=None) `Initialize.` __repr__(self) `Get the string representation of this xml document.` addSuffixToID(self, idSuffix) `Add the suffix to the id.` addToIdentifierDictionaries(self) `Add the element to the owner document identifier dictionaries.` addXML(self, depth, output) `Add xml for this elementNode.` appendChild(self, elementNode) `Append child elementNode to the child nodes.` appendSelfToParent(self) `Append self to the parentNode.` copyXMLChildNodes(self, idSuffix, parentNode) `Copy the xml childNodes.` getCascadeBoolean(self, defaultBoolean, key) `Get the cascade boolean.` getCascadeFloat(self, defaultFloat, key) `Get the cascade float.` getChildNodesByLocalName(self, localName) `Get the childNodes which have the given class name.` getChildNodesByLocalNameRecursively(self, localName) `Get the childNodes which have the given class name recursively.` getCopy(self, idSuffix, parentNode) `Copy the xml element, set its dictionary and add it to the parentNode.` getCopyShallow(self, attributes=None) `Copy the xml element and set its dictionary and parentNode.` getDocumentElement(self) `Get the document element.` getElementNodeByID(self, idKey) `Get the xml element by id.` getElementNodesByName(self, nameKey) `Get the xml elements by name.` getElementNodesByTag(self, tagKey) `Get the xml elements by tag.` getFirstChildByLocalName(self, localName) `Get the first childNode which has the given class name.` getIDSuffix(self, elementIndex=None) `Get the id suffix from the dictionary.` getImportNameChain(self, suffix='') `Get the import name chain with the suffix at the end.` getNodeName(self) `Get the node name.` getNodeType(self) `Get the node type.` getOwnerDocument(self) `Get the owner document.` getParser(self) `Get the parser.` getPaths(self) `Get all paths.` getPreviousElementNode(self) `Get previous ElementNode if it exists.` getPreviousVertex(self, defaultVector3=None) `Get previous vertex if it exists.` getStrippedAttributesValue(self, keyString) `Get the stripped attribute value if the length is at least one, otherwise return None.` getSubChildWithID(self, idReference) `Get the childNode which has the idReference.` getTagKeys(self) `Get stripped tag keys.` getTextContent(self) `Get the text from the child nodes.` getValueByKey(self, key) `Get value by the key.` getVertexes(self) `Get the vertexes.` getXMLProcessor(self) `Get the xmlProcessor.` linkObject(self, xmlObject) `Link self to xmlObject and add xmlObject to archivableObjects.` printAllVariables(self) `Print all variables.` printAllVariablesRoot(self) `Print all variables and the document element variables.` removeChildNodesFromIDNameParent(self) `Remove the childNodes from the id and name dictionaries and the childNodes.` removeFromIDNameParent(self) `Remove this from the id and name dictionaries and the childNodes of the parentNode.` setParentAddToChildNodes(self, parentNode) `Set the parentNode and add this to its childNodes.` setTextContent(self, textContent='') `Get the text from the child nodes.` Data descriptors defined here: nodeName `Get the node name.` nodeType `Get the node type.` ownerDocument `Get the owner document.` textContent `Get the text from the child nodes.`
class ElementReadMonad
`` | `A monad to read the attributes of the ElementNode tag.`
| Methods defined here: __init__(self, elementNode) `Initialize.` getNextMonad(self, character) `Get the next monad.`
class KeyMonad
`` | `A monad to set the key of an attribute of an ElementNode.`
| Methods defined here: __init__(self, character, elementNode) `Initialize.` getNextMonad(self, character) `Get the next monad.`
class OpenChooseMonad(ElementEndMonad)
`` | `A monad to choose the next monad.`
| Methods defined here: getNextMonad(self, character) `Get the next monad.` Methods inherited from ElementEndMonad: __init__(self, parentNode) `Initialize.`
class OpenMonad(ElementEndMonad)
`` | `A monad to handle the open tag character.`
| Methods defined here: getNextMonad(self, character) `Get the next monad.` Methods inherited from ElementEndMonad: __init__(self, parentNode) `Initialize.`
class TextMonad
`` | `A monad to handle the open tag character and set the text.`
| Methods defined here: __init__(self, parentNode) `Initialize.` getNextMonad(self, character) `Get the next monad.`
class TextNode(CDATASectionNode)
`` | `A text node.`
| Methods defined here: addXML(self, depth, output) `Add xml for this text node.` getCopyShallow(self, attributes=None) `Copy the node and set its parentNode.` getNodeName(self) `Get the node name.` getNodeType(self) `Get the node type.` Data descriptors defined here: nodeName `Get the node name.` nodeType `Get the node type.` Methods inherited from CDATASectionNode: __init__(self, parentNode, textContent='') `Initialize.` __repr__(self) `Get the string representation of this CDATASection node.` addToIdentifierDictionaries(self) `Add the element to the owner document identifier dictionaries.` appendSelfToParent(self) `Append self to the parentNode.` copyXMLChildNodes(self, idSuffix, parentNode) `Copy the xml childNodes.` getAttributes(self) `Get the attributes.` getChildNodes(self) `Get the empty set.` getCopy(self, idSuffix, parentNode) `Copy the xml element, set its dictionary and add it to the parentNode.` getOwnerDocument(self) `Get the owner document.` getTextContent(self) `Get the text content.` removeChildNodesFromIDNameParent(self) `Remove the childNodes from the id and name dictionaries and the childNodes.` removeFromIDNameParent(self) `Remove this from the id and name dictionaries and the childNodes of the parentNode.` setParentAddToChildNodes(self, parentNode) `Set the parentNode and add this to its childNodes.` Data descriptors inherited from CDATASectionNode: attributes `Get the attributes.` childNodes `Get the empty set.` ownerDocument `Get the owner document.`
class ValueMonad
`` | `A monad to set the value of an attribute of an ElementNode.`
| Methods defined here: __init__(self, elementNode, key) `Initialize.` getNextMonad(self, character) `Get the next monad.`

Functions
`` |  | createAppendByText(parentNode, xmlText) `Create and append the child nodes from the xmlText.` createAppendByTextb(parentNode, xmlText) `Create and append the child nodes from the xmlText.` getDocumentNode(fileName) `Get the document from the file name.` getFileText(fileName, printWarning=True, readMode='r') `Get the entire text of a file.`

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__ = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html' absolute_import = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384) globalGetAccessibleAttributeSet = set(['getPaths', 'getPreviousElementNode', 'getPreviousVertex', 'getVertexes', 'parentNode'])

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

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