SAX2: DeclHandler

David Megginson david at
Wed Dec 22 14:36:23 GMT 1999

Here's the DeclHandler that we designed for SAX2alpha, with
IOException replacing SAXException in the throws clauses:

  public interface DeclHandler
    public void elementDecl (String name, String model) throws IOException;
    public void attributeDecl (String eName, String name, String type,
			       String valueDefault, String value)
      throws IOException;
    public void internalEntityDecl (String name, String value)
      throws IOException;

    public void externalEntityDecl (String name, String publicId,
				    String systemId)
      throws IOException;


1. Unparsed entity and notation declarations are reported by the (now
   confusingly-named) DTDHandler.  The distinction is that the XML 1.0 
   REC requires parsers to report unparsed-entity and notation
   declarations, but not other DTD-based declarations.

2. The model argument in elementDecl is a normalized string
   representation of a content model.  It's not ideal, but everyone
   agreed last time that it was workable.

This interface seems hopelessly anachronistic, and I'm not willing to
invest too much time in it -- after all, while DTDs are useful in
themselves, the declarations should hardly form part of downstream
processing -- but enough people want it that it's useful to include it
as an optional feature.

All the best,


David Megginson                 david at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list