SAX and <!DOCTYPE>

Lars Marius Garshol larsga at garshol.priv.no
Tue Dec 7 09:46:48 GMT 1999


* Steinar Bang
|
| Is there something in SAX that gives the information in the
| <!DOCTYPE> declaration to the application?

Not in 1.0, as this was considered lexical rather than logical
information. (It's optional in the infoset WD.)

| I've scratched my head over DTDHandler
| 	http://www.megginson.com/SAX/javadoc/org.xml.sax.DTDHandler.html
| but I haven't found anything that looks like it there.  

DTDHandler serves a very narrow purpose: to pass on to the application
exactly what the XML rec requires processors to pass on.

SAX 2.0, however, does have this in the LexicalHandler.startDTD callback.

| What I need the document type for, is to set the appropriate
| DocumentHandler in the parser.  I'm assuming that this is something
| others would like to do.  If there is no DOCTYPE information
| available, how is it done?

It depends on the situation. In the XSA client, which needs to accept
both XSA and OSD documents, but can't tell them apart before parsing
begins, uses a DispatchingDocHandler, which has a hash of
DocumentHandlers keyed on the name of the document element. In this
very restricted case that worked just fine.

In other cases one might perhaps key on the namespace of the document
element, and with SAX 2 one could use the public identifier of the
DOCTYPE declaration.

--Lars M.


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