org.apache.xerces.framework
Interface XMLDTDScanner.EventHandler

All Known Implementing Classes:
DTDGrammar
Enclosing class:
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(QName elementDecl, 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(QName elementDecl)
          Add an element declaration (forward reference)
 int addElementDecl(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(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.

callEndDTD

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

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(QName rootElement,
                        int publicId,
                        int systemId)
                 throws java.lang.Exception
Called when the doctype decl is scanned
Parameters:
rootElementType - handle of the rootElement
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(QName elementDecl)
                   throws java.lang.Exception
Add an element declaration (forward reference)
Parameters:
handle - to the name of the element being declared
Returns:
handle to the element whose declaration was added
Throws:
java.lang.Exception -  

addElementDecl

public int addElementDecl(QName elementDecl,
                          int contentSpecType,
                          int contentSpec,
                          boolean isExternal)
                   throws java.lang.Exception
Add an element declaration
Parameters:
handle - to the name of the element being declared
contentSpecType - handle to the type name of the content spec
ContentSpec - handle to the content spec node for the contentSpecType
Returns:
handle to the element declaration that was added
Throws:
java.lang.Exception -  

addAttDef

public int addAttDef(QName elementDecl,
                     QName attributeDecl,
                     int attType,
                     boolean attList,
                     int enumeration,
                     int attDefaultType,
                     int attDefaultValue,
                     boolean isExternal)
              throws java.lang.Exception
Add an attribute definition
Parameters:
handle - to the element whose attribute is being declared
attName - StringPool handle to the attribute name being declared
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
Parameters:
handle - to an XMLContentSpec
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.


Copyright 1999-2001 Apache XML Project. All Rights Reserved.