All Known Implementing Classes:
This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.
This is an optional extension handler for SAX2 to provide more complete information about DTD declarations in an XML document. XML readers are not required to recognize this handler, and it is not part of core-only SAX2 distributions.
Note that data-related DTD declarations (unparsed entities and notations) are already reported through the DTDHandler interface.
To set the DeclHandler for an XML reader, use the
with the property name
and an object implementing this interface (or null) as the value.
If the reader does not report declaration events, it will throw a
when you attempt to register the handler.
SAX- 2.0 (extensions 1.0)
|Method from org.xml.sax.ext.DeclHandler Summary:|
|attributeDecl, elementDecl, externalEntityDecl, internalEntityDecl|
|Method from org.xml.sax.ext.DeclHandler Detail:|
abstract public void attributeDecl(String eName, String aName, String type, String mode, String value) throws SAXException
Only the effective (first) declaration for an attribute will be reported. The type will be one of the strings "CDATA", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", a parenthesized token group with the separator "|" and all whitespace removed, or the word "NOTATION" followed by a space followed by a parenthesized token group with all whitespace removed.
The value will be the value as reported to applications, appropriately normalized and with entity and character references expanded.
abstract public void elementDecl(String name, String model) throws SAXException
The content model will consist of the string "EMPTY", the string "ANY", or a parenthesised group, optionally followed by an occurrence indicator. The model will be normalized so that all parameter entities are fully resolved and all whitespace is removed,and will include the enclosing parentheses. Other normalization (such as removing redundant parentheses or simplifying occurrence indicators) is at the discretion of the parser.
abstract public void externalEntityDecl(String name, String publicId, String systemId) throws SAXException
Only the effective (first) declaration for each entity will be reported.
If the system identifier is a URL, the parser must resolve it fully before passing it to the application.
abstract public void internalEntityDecl(String name, String value) throws SAXException
Only the effective (first) declaration for each entity will be reported. All parameter entities in the value will be expanded, but general entities will not.