[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: XML 1.0 - Element order significance
- From: Danny Ayers <firstname.lastname@example.org>
- To: email@example.com
- Date: Tue, 23 Jan 2001 11:39:51 +0600
I think I'd go along with Mike on this one - it's probably splitting hairs,
but surely you could say that though there may be order, the order isn't
significant until the processing software applies an interpretation - i.e.
it's not in the XML spec. So the order of the elements is *guaranteed* only
in the same sense that the order of the attributes (good example Mike) is
In the absence of a definitive statement on the issue in the XML spec, it is
left to interpreting software whether or not to consider the order
significant. In practice it's easy to assume that the order has a
significance (as virtually all interpreters will ascribe one), but it does
offer a potential for misinterpretation where the meaning of a perfectly
conformant XML generator (which ignores element order) is passed to a
perfectly conformant reader (which sees meaning in order).
<- -----Original Message-----
<- From: Mike Brown [mailto:firstname.lastname@example.org]
<- Sent: 23 January 2001 06:05
<- To: 'email@example.com'
<- Subject: RE: XML 1.0 - Element order significance
<- Jonathan Borden wrote:
<- > Actually in an XML document, sibling elements are *guaranteed*
<- > to be ordered. An XML document is a character stream, and one
<- > sibling follows the other.
<- I think I agree with your conclusion, but I disagree with the
<- premise that
<- order (in general) is determined solely by the linearity of
<- XML's syntax. By
<- this logic, attributes are also ordered, just because attribute
<- specification markup is ordered.
<- While the markup and logical structures may be equivalent (just
<- at different
<- levels of abstraction), attributes are a good example of
<- unordered logical
<- structures having order imposed upon them by the linear syntax
<- of XML. It is
<- up to the XML spec to say whether or not this lexical order is
<- And indeed, Section 3.1 says "Note that the order of attribute
<- specifications [...] is not significant." So, the markup has
<- order, but the
<- logical structures do not, in this case.
<- There is no definitive statement like this for element tags.
<- Sections 3.2.1
<- and 3.2.2 do allow for the possibility of elements to be constrained to a
<- certain order in certain situations, so it is implicit that
<- logical elements
<- are *probably* ordered, but it could just as easily be argued that in the
<- absence of an element content declaration, there is no reason to
<- assume that
<- they *must* be considered as being ordered.
<- So I believe that it is up to SAX, DOM, the Infoset, XPath, and
<- to say whether their respective models consider elements to be
<- ordered. (SAX
<- doesn't really count, though, since it is essentially reporting what is
<- implied by the markup as it serially reads the document).
<- - Mike
<- Mike J. Brown, software engineer at My XML/XSL resources:
<- webb.net in Denver, Colorado, USA http://skew.org/xml/