XML parser: Element ordering?

Dave Angel d at davea.name
Fri Aug 31 08:31:17 EDT 2012


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




More information about the Python-list mailing list