Yes, there are no current plans to implement
our own SAX in the .NET Frameworks, although we want to make sure that SAX can
be supported atop our stack if someone else chooses to implement it.
We made heavy investments in the “pull
model” of parsing as an alternative to event-based parsing ala SAX.
It is possible to do “pull until match” and raise events to get the
same effect as SAX, but we felt that the pull model was more approachable for
the average developer.
The overall vision of XML processing in
.NET FX is that you deal with XML through two types of cursors (over XML Nodes):
forward-only (depth-first tree traversal) which is used on readers and writers,
and random-access “navigators” which can traverse the tree in any
direction. Normally a navigator implies buffering, while the forward-only
cursor implies no buffering, but this really depends on implementation of a
particular XML store.
The forward-only “pull model” is
quite important because many of our low-level scenarios involve pipelined
processing of XML, where performance and working set are critical. “Pull
to read, push to write” makes it easy for developers to write components which
automatically “just works” in a pipelined environment.
Thanks,
Joshua Allen
PM, Microsoft
System.Xml
From:
AndrewWatt2000@aol.com [mailto:AndrewWatt2000@aol.com]
Sent: Wed, Sep 18, 2002 2:09 PM
To: xml-dev@lists.xml.org
In a message dated 18/09/2002 19:42:17 GMT Daylight Time,
adallas@infospect.com writes:
He mentioned that Microsoft
deliberately chose not to support SAX.
I am curious if the MS people on list can confirm the current and intended
position.
Thanks
Andrew Watt