Xerces 1.3.1

org.apache.xerces.framework
Interface XMLDTDScanner.EventHandler

Enclosing interface:
XMLDTDScanner

public static interface XMLDTDScanner.EventHandler

This interface must be implemented by the users of the XMLDTDScanner class. These methods form the abstraction between the implementation semantics and the more generic task of scanning the DTD-specific XML grammar.


Method Summary
 int addAttDef(org.apache.xerces.utils.QName elementDecl, org.apache.xerces.utils.QName attributeDecl, int attType, boolean attList, int enumeration, int attDefaultType, int attDefaultValue, boolean isExternal)
          Add an attribute definition
 int addContentSpecNode(int nodeType, int nodeValue)
          Create an XMLContentSpec for a single non-leaf
 int addContentSpecNode(int nodeType, int leftNodeIndex, int rightNodeIndex)
          Create an XMLContentSpec for a two child leaf
 int addElementDecl(org.apache.xerces.utils.QName elementDecl)
          Add an element declaration (forward reference)
 int addElementDecl(org.apache.xerces.utils.QName elementDecl, int contentSpecType, int contentSpec, boolean isExternal)
          Add an element declaration
 int addExternalEntityDecl(int name, int publicId, int systemId)
          Add a declaration for an entity
 int addExternalPEDecl(int name, int publicId, int systemId)
          Add a declaration for an external parameter entity
 int addInternalEntityDecl(int name, int value)
          Add a declaration for an internal entity
 int addInternalPEDecl(int name, int value)
          Add a declaration for an internal parameter entity
 void addNameToEnumeration(int enumIndex, int elementType, int attrName, int nameIndex, boolean isNotationType)
          Add a name to an enumeration
 int addNotationDecl(int notationName, int publicId, int systemId)
          Add a declaration for a notation
 int addUniqueLeafNode(int nameIndex)
          create an XMLContentSpec for a leaf
 int addUnparsedEntityDecl(int name, int publicId, int systemId, int notationName)
          Add a declaration for an unparsed entity
 void callComment(int data)
          Called when a comment has been scanned
 void callEndDTD()
          End of DTD.
 void callProcessingInstruction(int piTarget, int piData)
          Called when a processing instruction has been scanned
 void callStartDTD()
          Start of DTD.
 void callTextDecl(int version, int encoding)
          Signal the Text declaration of an external entity.
 void doctypeDecl(org.apache.xerces.utils.QName rootElement, int publicId, int systemId)
          Called when the doctype decl is scanned
 void endEntityDecl()
          End the scope of an entity declaration.
 void endEnumeration(int enumIndex)
          Finish processing an enumeration
 java.lang.String getContentSpecNodeAsString(int nodeIndex)
          Create a string representation of an XMLContentSpec tree
 void internalSubset(int internalSubset)
          Supports DOM Level 2 internalSubset additions.
 boolean startEntityDecl(boolean isPE, int entityName)
          Start the scope of an entity declaration.
 int startEnumeration()
          Called when the scanner start scanning an enumeration
 void startReadingFromExternalSubset(int publicId, int systemId)
          Called when the DTDScanner starts reading from the external subset
 void stopReadingFromExternalSubset()
          Called when the DTDScanner stop reading from the external subset
 

Method Detail

callStartDTD

public void callStartDTD()
                  throws java.lang.Exception
Start of DTD.

java.lang.Exception

callEndDTD

public void callEndDTD()
                throws java.lang.Exception
End of DTD.

java.lang.Exception

callTextDecl

public void callTextDecl(int version,
                         int encoding)
                  throws java.lang.Exception
Signal the Text declaration of an external entity.

Parameters:
version - the handle in the string pool for the version number
encoding - the handle in the string pool for the encoding
Throws:
java.lang.Exception

doctypeDecl

public void doctypeDecl(org.apache.xerces.utils.QName rootElement,
                        int publicId,
                        int systemId)
                 throws java.lang.Exception
Called when the doctype decl is scanned

Parameters:
publicId - StringPool handle of the public id
systemId - StringPool handle of the system id
Throws:
java.lang.Exception

startReadingFromExternalSubset

public void startReadingFromExternalSubset(int publicId,
                                           int systemId)
                                    throws java.lang.Exception
Called when the DTDScanner starts reading from the external subset

Parameters:
publicId - StringPool handle of the public id
systemId - StringPool handle of the system id
Throws:
java.lang.Exception

stopReadingFromExternalSubset

public void stopReadingFromExternalSubset()
                                   throws java.lang.Exception
Called when the DTDScanner stop reading from the external subset

Throws:
java.lang.Exception

addElementDecl

public int addElementDecl(org.apache.xerces.utils.QName elementDecl)
                   throws java.lang.Exception
Add an element declaration (forward reference)

Returns:
handle to the element whose declaration was added
Throws:
java.lang.Exception

addElementDecl

public int addElementDecl(org.apache.xerces.utils.QName elementDecl,
                          int contentSpecType,
                          int contentSpec,
                          boolean isExternal)
                   throws java.lang.Exception
Add an element declaration

Parameters:
contentSpecType - handle to the type name of the content spec
Returns:
handle to the element declaration that was added
Throws:
java.lang.Exception

addAttDef

public int addAttDef(org.apache.xerces.utils.QName elementDecl,
                     org.apache.xerces.utils.QName attributeDecl,
                     int attType,
                     boolean attList,
                     int enumeration,
                     int attDefaultType,
                     int attDefaultValue,
                     boolean isExternal)
              throws java.lang.Exception
Add an attribute definition

Parameters:
attType - type of the attribute
enumeration - StringPool handle of the attribute's enumeration list (if any)
attDefaultType - an integer value denoting the DefaultDecl value
attDefaultValue - StringPool handle of this attribute's default value
Returns:
handle to the attribute definition
Throws:
java.lang.Exception

addUniqueLeafNode

public int addUniqueLeafNode(int nameIndex)
                      throws java.lang.Exception
create an XMLContentSpec for a leaf

Parameters:
nameIndex - StringPool handle to the name (Element) for the node
Returns:
handle to the newly create XMLContentSpec
Throws:
java.lang.Exception

addContentSpecNode

public int addContentSpecNode(int nodeType,
                              int nodeValue)
                       throws java.lang.Exception
Create an XMLContentSpec for a single non-leaf

Parameters:
nodeType - the type of XMLContentSpec to create - from XMLContentSpec.CONTENTSPECNODE_*
nodeValue - handle to an XMLContentSpec
Returns:
handle to the newly create XMLContentSpec
Throws:
java.lang.Exception

addContentSpecNode

public int addContentSpecNode(int nodeType,
                              int leftNodeIndex,
                              int rightNodeIndex)
                       throws java.lang.Exception
Create an XMLContentSpec for a two child leaf

Parameters:
nodeType - the type of XMLContentSpec to create - from XMLContentSpec.CONTENTSPECNODE_*
leftNodeIndex - handle to an XMLContentSpec
rightNodeIndex - handle to an XMLContentSpec
Returns:
handle to the newly create XMLContentSpec
Throws:
java.lang.Exception

getContentSpecNodeAsString

public java.lang.String getContentSpecNodeAsString(int nodeIndex)
                                            throws java.lang.Exception
Create a string representation of an XMLContentSpec tree

Returns:
String representation of the content spec tree
Throws:
java.lang.Exception

startEntityDecl

public boolean startEntityDecl(boolean isPE,
                               int entityName)
                        throws java.lang.Exception
Start the scope of an entity declaration.

Returns:
true on success; otherwise false if the entity declaration is recursive.
Throws:
java.lang.Exception

endEntityDecl

public void endEntityDecl()
                   throws java.lang.Exception
End the scope of an entity declaration.

Throws:
java.lang.Exception

addInternalPEDecl

public int addInternalPEDecl(int name,
                             int value)
                      throws java.lang.Exception
Add a declaration for an internal parameter entity

Parameters:
name - StringPool handle of the parameter entity name
value - StringPool handle of the parameter entity value
Returns:
handle to the parameter entity declaration
Throws:
java.lang.Exception

addExternalPEDecl

public int addExternalPEDecl(int name,
                             int publicId,
                             int systemId)
                      throws java.lang.Exception
Add a declaration for an external parameter entity

Parameters:
name - StringPool handle of the parameter entity name
publicId - StringPool handle of the publicId
systemId - StringPool handle of the systemId
Returns:
handle to the parameter entity declaration
Throws:
java.lang.Exception

addInternalEntityDecl

public int addInternalEntityDecl(int name,
                                 int value)
                          throws java.lang.Exception
Add a declaration for an internal entity

Parameters:
name - StringPool handle of the entity name
value - StringPool handle of the entity value
Returns:
handle to the entity declaration
Throws:
java.lang.Exception

addExternalEntityDecl

public int addExternalEntityDecl(int name,
                                 int publicId,
                                 int systemId)
                          throws java.lang.Exception
Add a declaration for an entity

Parameters:
name - StringPool handle of the entity name
publicId - StringPool handle of the publicId
systemId - StringPool handle of the systemId
Returns:
handle to the entity declaration
Throws:
java.lang.Exception

addUnparsedEntityDecl

public int addUnparsedEntityDecl(int name,
                                 int publicId,
                                 int systemId,
                                 int notationName)
                          throws java.lang.Exception
Add a declaration for an unparsed entity

Parameters:
name - StringPool handle of the entity name
publicId - StringPool handle of the publicId
systemId - StringPool handle of the systemId
notationName - StringPool handle of the notationName
Returns:
handle to the entity declaration
Throws:
java.lang.Exception

startEnumeration

public int startEnumeration()
                     throws java.lang.Exception
Called when the scanner start scanning an enumeration

Returns:
StringPool handle to a string list that will hold the enumeration names
Throws:
java.lang.Exception

addNameToEnumeration

public void addNameToEnumeration(int enumIndex,
                                 int elementType,
                                 int attrName,
                                 int nameIndex,
                                 boolean isNotationType)
                          throws java.lang.Exception
Add a name to an enumeration

Parameters:
enumIndex - StringPool handle to the string list for the enumeration
elementType - handle to the element that owns the attribute with the enumeration
attrName - StringPool handle to the name of the attribut with the enumeration
nameIndex - StringPool handle to the name to be added to the enumeration
isNotationType - true if the enumeration is an enumeration of NOTATION names
Throws:
java.lang.Exception

endEnumeration

public void endEnumeration(int enumIndex)
                    throws java.lang.Exception
Finish processing an enumeration

Parameters:
enumIndex - handle to the string list which holds the enumeration to be finshed.
Throws:
java.lang.Exception

addNotationDecl

public int addNotationDecl(int notationName,
                           int publicId,
                           int systemId)
                    throws java.lang.Exception
Add a declaration for a notation

Parameters:
notationName -
publicId -
systemId -
Returns:
handle to the notation declaration
Throws:
java.lang.Exception

callComment

public void callComment(int data)
                 throws java.lang.Exception
Called when a comment has been scanned

Parameters:
data - StringPool handle of the comment text
Throws:
java.lang.Exception

callProcessingInstruction

public void callProcessingInstruction(int piTarget,
                                      int piData)
                               throws java.lang.Exception
Called when a processing instruction has been scanned

Parameters:
piTarget - StringPool handle of the PI target
piData - StringPool handle of the PI data
Throws:
java.lang.Exception

internalSubset

public void internalSubset(int internalSubset)
                    throws java.lang.Exception
Supports DOM Level 2 internalSubset additions. Called when the internal subset is completely scanned.

java.lang.Exception

Xerces 1.3.1