[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: attribute order (RE: Syntax Sugar and XML information models)
- From: "Simon St.Laurent" <simonstl@simonstl.com>
- To: xml-dev@lists.xml.org
- Date: Sat, 31 Mar 2001 10:54:29 -0500
At 10:17 PM 3/30/01 -0800, Christopher R. Maden wrote:
>At 05:26 30-03-2001, Simon St.Laurent wrote:
> >Is there some kind of processing advantage for _parsers_ (not applications)
> >to report attribute values in any sequence other than their original
> sequence?
>
>Not that I can think of. But consider the presence of a DTD: what *is* the
>original order?
>
><!DOCTYPE sample [
><!ELEMENT sample EMPTY>
><!ATTLIST sample
> att1 CDATA "blort"
> att2 CDATA #IMPLIED
> att3 CDATA #REQUIRED>
>]>
><sample att3="wibble"/>
>
>What is the order of attributes? Very good cases can be made for either
>3,1 or 1,3.
>
>Now consider the case of a well-formed document with some attribute
>defaults declared, but other attributes just given in the instance. What's
>the order there?
In the case you've presented, it's not very hard to at least create a rule
- like explicit before defaulted, defaulted in the order they were
done. (If you get out of the habit of defaulting attributes, this isn't a
problem, of course!)
There is a tougher case, where attribute list declarations override each
each other.
<!DOCTYPE sample [
<!ELEMENT sample EMPTY>
<!ATTLIST sample
att1 CDATA "blort"
att2 CDATA #IMPLIED
att3 CDATA #REQUIRED>
<!ATTLIST sample
att1 CDATA "quitsy">
]>
<sample att3="wibble"/>
Things like this, and all their variations, can make life even more intriguing.
I'm not sure that it says to me that attribute order should be discarded,
however. Instead, it feels like one more case where supplementing the
infoset during parsing can cause some complex problems.
Simon St.Laurent - Associate Editor, O'Reilly and Associates
XML Elements of Style / XML: A Primer, 2nd Ed.
XHTML: Migrating Toward XML
http://www.simonstl.com - XML essays and books