[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Attribute Order
- From: Arjun Ray <arjun.ray@verizon.net>
- To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
- Date: Tue, 25 Mar 2014 00:02:54 -0400
On Mon, 24 Mar 2014 22:49:26 -0400, Michael Sokolov
<msokolov@safaribooksonline.com> wrote:
| In general hashmaps do not preserve insertion order, so it may be
| that this was a rationale for discarding the order of attributes.
Actually, the order of attributes was _never_ a concern.
SAX was invented/developed on this mailing list, back in 1997-98. The
early discussions were aimed at finding common ground between the
Aelfred and Lark parsers, both of which were implemented in Java.
One of the features decided upon quite early, in the overall context
of a "callback" or "push parser" framework, was that the attributes in
a start-tag would be presented as a collection to the app layer in the
start_element() notification, rather than individually. A dictionary
style interface would then allow the app to interrogate the attributes
it needed to know about, in an order that made logical sense at the
app level. See for example:
http://lists.xml.org/archives/xml-dev/199712/msg00232.html
Going further back, one would have to know that the first cuts at XML
APIs were based - for reasons that may not be obvious today - on prior
experience with SGML APIs. And here, the canonical exemplar was the
implementation of an adjunct of ISO 8879 (thr SGML standard) called
ESIS ("Element Structure Information Set") in James Clark's sgmls and
nsgmls parsers.
http://www.jclark.com/sp/sgmlsout.htm
The "official" spec for ESIS
http://xml.coverpages.org/WG8-n931a.html
did not consider attribute order significant, and so it has been - or
rather, not been - ever since.
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]