Well-formed vs. valid

David Brownell db at Eng.Sun.COM
Fri Feb 26 06:48:40 GMT 1999


Simon St.Laurent wrote:
> 
> Big question: can I plug someone else's SAX parser into your scanner, and
> then have your validation component work on my SAX events?  While it's
> unlikely that I'd want to plug a different SAX parser in, it's quite
> possible that I'd want to work with the SAX events (transforming with XT,
> for instance) before performing validation.

Well, Sun's current package (released today with source :-) has some
infrastructure along those lines ... but it's a bit more integrated
with the DOM than with the SAX bits.  That's to keep apps from needing
to do the sort of tree structure tracking that DOM already does.  Since
it's in the DOM side, you can plug any SAX parser in to it.

Specifically, when DOM nodes are plugged into the tree there are certain
clearly defined callbacks which are made:  the "XmlReadable" interface.

When those callbacks are made, the "parent" context is visible as a
DOM tree that doesn't fully correspond to the input document.  It seems
that one of the more popular methods is doneParse(), called when the last
of an element's children is parsed.  Also startParse() gets used to do
resolution of relative URLs (e.g. in external entities). 

Those callbacks are intended for performing various application level
work such as integrity checks.  Applications can provide diagnostics
with the same level of specificity (line, file, etc) as the parser
itself; in some cases such diagnostics will be reported directly
through the SAX error handler used by the parser.

- Dave

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 (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe 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