[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: attribute order (RE: Syntax Sugar and XML information models)
- From: Jonathan Borden <jborden@mediaone.net>
- To: "Simon St.Laurent" <simonstl@simonstl.com>,Mike.Champion@SoftwareAG-USA.com, xml-dev@lists.xml.org
- Date: Thu, 29 Mar 2001 17:10:12 -0500
Simon St.Laurent wrote:
> At 11:33 AM 3/29/01 -0500, Mike.Champion@SoftwareAG-USA.com wrote:
>
> >I just remembered one other thing that the InfoSet doesn't model that has
> >generated some discussion about round-trippability --- the two legal XML
> >syntaxes for empty elements. Does anyone care about round-tripping the
> >specific syntax used in some instance, e.g. <empty></empty> vs <empty/>
> >? There was some discussion on SML-DEV once about using it to encode the
> >distinction between an element with the value [empty string] vs an
element
> >with the value "null" ... but the fact that the distinction wouldn't
> >necessarily survive a round-trip with an InfoSet-compliant tool put that
> >idea to rest.
>
> If XML 1.0 had genuinely described only a syntax, I think the distinction
> between the two would be preserved. Since it defined a syntax with some
> processing notions behind it, and the Infoset people have codified those
> notions, I think those possibilities disappeared.
>
From a practical point of view that possibility disappeared when the SAX
interfaces and XPath was written. Is something like that really worth going
back and changing a bunch of working code to handle this case? Remember that
there exists a SAX filter which constructs a SAX2 ContentHandler from a
DocumentHandler and so even something as radical as namespaces could be
layered. Distinguishing between <foo></foo> and <foo /> can't be done with a
SAX processor -- to my knowledge.
To me the value of an 'infoset' is a rough intersection between SAX, XPath
and the DOM.
-Jonathan