XML. SAX. Streaming processing with Groves.
Paul Tchistopolskii
paul at qub.com
Fri Dec 3 05:08:13 GMT 1999
The advantage of SAX ( and attributes in XML)
is that we have attributes in place when startElement
is invoked. We know what are some properties of this
element right when element begins.
At that point could we get the information about
the another properties this element has
( the child elements ) ?
No. We can not. If we'l decide to read the entire
element before infoking startElement() - we'l have
to read the entire ( root ) document to know.
DOM does it.
How can we workaround this limitation?
Right now I'm writing yet another wrapper
around SAX, accumulating the element contents
in 'microDOM' and then making a descision in
endElement() what to do with the element
itself depending on the values of his children.
The 'correct' approach to avoid such a hell
is to use DOM - but I can't. Documents could
be big.
I also can not require the client to turn all their
elements into attributes.
It's actualy very interesting. If one wants his
XML documents to be easy to process
without DOM he should have as much attributes
as it's possible !
<aside>
Isn't it the end of long discussion of Elements vs Attributes?
Now when I see the question: "Should I use attributes or
elements?" - I know the answer:
"If you want it to be processed by current APIs not keeping
the entire docuemnt in the memory - use attributes everywhere
you can."
</aside>
What if for *some* elements parser would invoke
startElement ( or endElement) *after* reading the
entire element and placing all the children into ... Grove) ?
I think I could specify those 'return-as-grove' elements
at runtime, or when I'm initializing the parser.
How easy is to it do with curent SAX design ?
Rgds.Paul.
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list