XML parser: Element ordering?
Hello, I plan to use the etree.ElementTree XML parser to parse a config file in which the order of the elements matter, e.g.: A C /D / /A is not equal to: A D /C / /A I have found different answers to the question if order matters in XML documents. So my question here: Does it matters (and is more or less guarenteed to matter in the future) for the ElementTree parser of python? Thanks, Florian -- http://mail.python.org/mailman/listinfo/python-list
Re: XML parser: Element ordering?
Florian Lindner, 31.08.2012 14:03: I plan to use the etree.ElementTree XML parser to parse a config file in which the order of the elements matter, e.g.: A C /D / /A is not equal to: A D /C / /A I have found different answers to the question if order matters in XML documents. So my question here: Does it matters (and is more or less guarenteed to matter in the future) for the ElementTree parser of python? It matters for XML documents, so, yes, any XML parser will definitely honour the document order (which is actually well defined for an XML document). What you might be referring to is the case of a specific XML document format, where the application (or sometimes specification) can explicitly state that the element order in a given subtree has no meaning for the semantics of the element and that therefore code must ignore the order in which elements occur. But that won't magically make the parser ignore it for you. That's a totally different level of abstraction and a deliberate decision of the code that *uses* the parser. Stefan -- http://mail.python.org/mailman/listinfo/python-list
Re: XML parser: Element ordering?
On 08/31/2012 08:21 AM, Stefan Behnel wrote: Florian Lindner, 31.08.2012 14:03: I plan to use the etree.ElementTree XML parser to parse a config file in which the order of the elements matter, e.g.: A C /D / /A is not equal to: A D /C / /A I have found different answers to the question if order matters in XML documents. So my question here: Does it matters (and is more or less guarenteed to matter in the future) for the ElementTree parser of python? It matters for XML documents, so, yes, any XML parser will definitely honour the document order (which is actually well defined for an XML document). What you might be referring to is the case of a specific XML document format, where the application (or sometimes specification) can explicitly state that the element order in a given subtree has no meaning for the semantics of the element and that therefore code must ignore the order in which elements occur. But that won't magically make the parser ignore it for you. That's a totally different level of abstraction and a deliberate decision of the code that *uses* the parser. There is a place in xml documents which is defined to be unordered. That's the attributes within one element. E attr3=x attr1=y attr2=z / is indistinguishable from: E attr2=z attr1=y attr3=x / -- DaveA -- http://mail.python.org/mailman/listinfo/python-list