org.xml.sax.ext
Interface DeclHandler

All Known Implementing Classes:
DefaultHandler2 sample code for org.xml.sax.ext.DefaultHandler2 definition code for org.xml.sax.ext.DefaultHandler2

public interface DeclHandler

SAX2 extension handler for DTD declaration events.

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 sample code for org.xml.sax.DTDHandler definition code for org.xml.sax.DTDHandler interface.

If you are using the declaration handler together with a lexical handler, all of the events will occur between the startDTD sample code for org.xml.sax.ext.LexicalHandler.startDTD(java.lang.String, java.lang.String, java.lang.String) definition code for org.xml.sax.ext.LexicalHandler.startDTD(java.lang.String, java.lang.String, java.lang.String) and the endDTD sample code for org.xml.sax.ext.LexicalHandler.endDTD() definition code for org.xml.sax.ext.LexicalHandler.endDTD() events.

To set the DeclHandler for an XML reader, use the setProperty sample code for org.xml.sax.XMLReader.setProperty(java.lang.String, java.lang.Object) definition code for org.xml.sax.XMLReader.setProperty(java.lang.String, java.lang.Object) method with the property name http://xml.org/sax/properties/declaration-handler and an object implementing this interface (or null) as the value. If the reader does not report declaration events, it will throw a SAXNotRecognizedException sample code for org.xml.sax.SAXNotRecognizedException definition code for org.xml.sax.SAXNotRecognizedException when you attempt to register the handler.

Since:
SAX 2.0 (extensions 1.0)

Method Summary
 void attributeDecl sample code for org.xml.sax.ext.DeclHandler.attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) definition code for org.xml.sax.ext.DeclHandler.attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  eName, String sample code for java.lang.String definition code for java.lang.String  aName, String sample code for java.lang.String definition code for java.lang.String  type, String sample code for java.lang.String definition code for java.lang.String  mode, String sample code for java.lang.String definition code for java.lang.String  value)
          Report an attribute type declaration.
 void elementDecl sample code for org.xml.sax.ext.DeclHandler.elementDecl(java.lang.String, java.lang.String) definition code for org.xml.sax.ext.DeclHandler.elementDecl(java.lang.String, java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  name, String sample code for java.lang.String definition code for java.lang.String  model)
          Report an element type declaration.
 void externalEntityDecl sample code for org.xml.sax.ext.DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String) definition code for org.xml.sax.ext.DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  name, String sample code for java.lang.String definition code for java.lang.String  publicId, String sample code for java.lang.String definition code for java.lang.String  systemId)
          Report a parsed external entity declaration.
 void internalEntityDecl sample code for org.xml.sax.ext.DeclHandler.internalEntityDecl(java.lang.String, java.lang.String) definition code for org.xml.sax.ext.DeclHandler.internalEntityDecl(java.lang.String, java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  name, String sample code for java.lang.String definition code for java.lang.String  value)
          Report an internal entity declaration.
 

Method Detail

elementDecl sample code for org.xml.sax.ext.DeclHandler.elementDecl(java.lang.String, java.lang.String) definition code for org.xml.sax.ext.DeclHandler.elementDecl(java.lang.String, java.lang.String)

void elementDecl(String sample code for java.lang.String definition code for java.lang.String  name,
                 String sample code for java.lang.String definition code for java.lang.String  model)
                 throws SAXException sample code for org.xml.sax.SAXException definition code for org.xml.sax.SAXException 
Report an element type declaration.

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.

Parameters:
name - The element type name.
model - The content model as a normalized string.
Throws:
SAXException sample code for org.xml.sax.SAXException definition code for org.xml.sax.SAXException - The application may raise an exception.

attributeDecl sample code for org.xml.sax.ext.DeclHandler.attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) definition code for org.xml.sax.ext.DeclHandler.attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)

void attributeDecl(String sample code for java.lang.String definition code for java.lang.String  eName,
                   String sample code for java.lang.String definition code for java.lang.String  aName,
                   String sample code for java.lang.String definition code for java.lang.String  type,
                   String sample code for java.lang.String definition code for java.lang.String  mode,
                   String sample code for java.lang.String definition code for java.lang.String  value)
                   throws SAXException sample code for org.xml.sax.SAXException definition code for org.xml.sax.SAXException 
Report an attribute type declaration.

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.

Parameters:
eName - The name of the associated element.
aName - The name of the attribute.
type - A string representing the attribute type.
mode - A string representing the attribute defaulting mode ("#IMPLIED", "#REQUIRED", or "#FIXED") or null if none of these applies.
value - A string representing the attribute's default value, or null if there is none.
Throws:
SAXException sample code for org.xml.sax.SAXException definition code for org.xml.sax.SAXException - The application may raise an exception.

internalEntityDecl sample code for org.xml.sax.ext.DeclHandler.internalEntityDecl(java.lang.String, java.lang.String) definition code for org.xml.sax.ext.DeclHandler.internalEntityDecl(java.lang.String, java.lang.String)

void internalEntityDecl(String sample code for java.lang.String definition code for java.lang.String  name,
                        String sample code for java.lang.String definition code for java.lang.String  value)
                        throws SAXException sample code for org.xml.sax.SAXException definition code for org.xml.sax.SAXException 
Report an internal entity declaration.

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.

Parameters:
name - The name of the entity. If it is a parameter entity, the name will begin with '%'.
value - The replacement text of the entity.
Throws:
SAXException sample code for org.xml.sax.SAXException definition code for org.xml.sax.SAXException - The application may raise an exception.
See Also:
externalEntityDecl(java.lang.String, java.lang.String, java.lang.String) sample code for org.xml.sax.ext.DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String) definition code for org.xml.sax.ext.DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String) , DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String) sample code for org.xml.sax.DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String) definition code for org.xml.sax.DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)

externalEntityDecl sample code for org.xml.sax.ext.DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String) definition code for org.xml.sax.ext.DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)

void externalEntityDecl(String sample code for java.lang.String definition code for java.lang.String  name,
                        String sample code for java.lang.String definition code for java.lang.String  publicId,
                        String sample code for java.lang.String definition code for java.lang.String  systemId)
                        throws SAXException sample code for org.xml.sax.SAXException definition code for org.xml.sax.SAXException 
Report a parsed external entity declaration.

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.

Parameters:
name - The name of the entity. If it is a parameter entity, the name will begin with '%'.
publicId - The entity's public identifier, or null if none was given.
systemId - The entity's system identifier.
Throws:
SAXException sample code for org.xml.sax.SAXException definition code for org.xml.sax.SAXException - The application may raise an exception.
See Also:
internalEntityDecl(java.lang.String, java.lang.String) sample code for org.xml.sax.ext.DeclHandler.internalEntityDecl(java.lang.String, java.lang.String) definition code for org.xml.sax.ext.DeclHandler.internalEntityDecl(java.lang.String, java.lang.String) , DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String) sample code for org.xml.sax.DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String) definition code for org.xml.sax.DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)