[
Lists Home |
Date Index |
Thread Index
]
Elliotte Rusty Harold wrote:
> The behavior of the XMLReader implementation class is defined. The
> behavior of the ContentHandler implementation is not. Along similar
> lines, the SAX implementer provides the XMLReader implementation
> class. A SAX implementer does not provide the ContentHandler
> implementation.
Nothing stops an XMLReader implementation from pulling information from
a database and making it look like an XML Infoset to the consumer.
If an implementation provides a ContentHandler class that serializes XML
1.0, would you still call it a read-only API? MSXML4 comes with one
called MXXMLWriter and I'm pretty sure the Java impls with them today as
well. Since nothing stops me from using SAX interfaces for generating
Infosets, I think it's clearly an overstatement to say "SAX is
read-only".
It seems to me that the SAX interfaces were carefully designed to be
symmetric for both read/write operations, which IMO actually complicates
reading. I actually find ContentHandler to be quite intuitive for write
operations but quite cumbersome for processing anything but trivial
content models. Microsoft's .NET implementation separates the two,
maintaining the SAX model for writing and a new pull-model interface for
reading.
-aaron
......................................................
. Aaron Skonnard, DevelopMentor (http://skonnard.com).
. Essential XML Quick Reference available online! .
. Download PDFs: http://www.develop.com/books .
......................................................
|