Xerces 1.1.1

org.apache.xerces.parsers
Class DOMParser

java.lang.Object
  |
  +--org.apache.xerces.framework.XMLParser
        |
        +--org.apache.xerces.parsers.DOMParser
Direct Known Subclasses:
RevalidatingDOMParser

public class DOMParser
extends org.apache.xerces.framework.XMLParser
implements org.apache.xerces.framework.XMLDocumentHandler, org.apache.xerces.framework.XMLDocumentHandler.DTDHandler

DOMParser provides a parser which produces a W3C DOM tree as its output

Version:
$Id: DOMParser.java,v 1.19 2000/05/31 16:29:59 andyc Exp $

Inner classes inherited from class org.apache.xerces.framework.XMLDocumentHandler
org.apache.xerces.framework.XMLDocumentHandler.DTDHandler
 
Field Summary
static java.lang.String DEFAULT_DOCUMENT_CLASS_NAME
          Default programmatic document class name (org.apache.xerces.dom.DocumentImpl).
protected  int fAmpIndex
           
protected  int fAposIndex
           
protected  Node fCurrentElementNode
           
protected  int fCurrentNodeIndex
           
protected  DeferredDocumentImpl fDeferredDocumentImpl
           
protected  Document fDocument
           
protected  DocumentImpl fDocumentImpl
           
protected  int fDocumentIndex
           
protected  DocumentType fDocumentType
           
protected  int fDocumentTypeIndex
           
protected  int fGtIndex
           
protected  boolean fInCDATA
           
protected  boolean fInDTD
           
protected  int fLtIndex
           
protected  int fQuotIndex
           
protected  boolean fWithinElement
           
 
Fields inherited from class org.apache.xerces.framework.XMLParser
fEntityHandler, fErrorReporter, fGrammarResolver, fParseInProgress, fScanner, fStringPool, fValidator, SAX2_FEATURES_PREFIX, SAX2_PROPERTIES_PREFIX, XERCES_FEATURES_PREFIX, XERCES_PROPERTIES_PREFIX
 
Constructor Summary
DOMParser()
          Default constructor.
 
Method Summary
 void attlistDecl(org.apache.xerces.utils.QName elementDecl, org.apache.xerces.utils.QName attributeDecl, int attType, boolean attList, java.lang.String enumString, int attDefaultType, int attDefaultValue)
          <!ATTLIST Name AttDef>
 void characters(char[] ch, int start, int length)
          Not called.
 void characters(int dataIndex)
          Characters.
 void comment(int dataIndex)
          Comment.
 void elementDecl(org.apache.xerces.utils.QName elementDecl, int contentSpecType, int contentSpecIndex, org.apache.xerces.framework.XMLContentSpec.Provider contentSpecProvider)
          <!ELEMENT Name contentspec>
 void endCDATA()
          End CDATA section.
 void endDocument()
          End document.
 void endDTD()
          This function will be called at the end of the DTD.
 void endElement(org.apache.xerces.utils.QName elementQName)
          End element.
 void endEntityReference(int entityName, int entityType, int entityContext)
          End entity reference.
 void endNamespaceDeclScope(int prefix)
          Report the end of the scope of a namespace declaration.
 void externalEntityDecl(int entityNameIndex, int publicIdIndex, int systemIdIndex)
          <!ENTITY Name ExternalID> (external)
 void externalPEDecl(int entityNameIndex, int publicIdIndex, int systemIdIndex)
          <!ENTITY % Name ExternalID> (external)
 boolean getCreateEntityReferenceNodes()
          Returns true if entity references within the document are included in the document tree as EntityReference nodes.
protected  Element getCurrentElementNode()
          Returns the current element node.
protected  boolean getDeferNodeExpansion()
          Returns true if the expansion of the nodes in the default DOM implementation are deferred.
 Document getDocument()
          Returns the document.
protected  java.lang.String getDocumentClassName()
          Returns the fully qualified class name of the document factory used when constructing the DOM tree.
 boolean getFeature(java.lang.String featureId)
          Query the current state of any feature in a SAX2 parser.
 java.lang.String[] getFeaturesRecognized()
          Returns a list of features that this parser recognizes.
 boolean getIncludeIgnorableWhitespace()
          Returns true if ignorable whitespace text nodes are included in the DOM tree.
 java.lang.String[] getPropertiesRecognized()
          Returns a list of properties that this parser recognizes.
 java.lang.Object getProperty(java.lang.String propertyId)
          Return the current value of a property in a SAX2 parser.
 void ignorableWhitespace(char[] ch, int start, int length)
          Not called.
 void ignorableWhitespace(int dataIndex)
          Ignorable whitespace.
protected  void init()
          Initializes the parser to a pre-parse state.
 void internalEntityDecl(int entityNameIndex, int entityValueIndex)
          <!ENTITY Name EntityValue> (internal)
 void internalPEDecl(int entityNameIndex, int entityValueIndex)
          <!ENTITY % Name EntityValue> (internal)
 void internalSubset(int internalSubset)
          Supports DOM Level 2 internalSubset additions.
 void notationDecl(int notationNameIndex, int publicIdIndex, int systemIdIndex)
          <!NOTATION Name ExternalId>
 void processingInstruction(int targetIndex, int dataIndex)
          Processing instruction.
 void reset()
          Resets the parser.
 void resetOrCopy()
          Resets or copies the parser.
protected  void setCreateEntityReferenceNodes(boolean create)
          This feature determines whether entity references within the document are included in the document tree as EntityReference nodes.
protected  void setDeferNodeExpansion(boolean deferNodeExpansion)
          This method sets whether the expansion of the nodes in the default DOM implementation are deferred.
protected  void setDocumentClassName(java.lang.String documentClassName)
          This method allows the programmer to decide which document factory to use when constructing the DOM tree.
 void setFeature(java.lang.String featureId, boolean state)
          Set the state of any feature in a SAX2 parser.
 void setIncludeIgnorableWhitespace(boolean include)
          This feature determines whether text nodes that can be considered "ignorable whitespace" are included in the DOM tree.
 void setProperty(java.lang.String propertyId, java.lang.Object value)
          Set the value of any property in a SAX2 parser.
 void startCDATA()
          Start CDATA section.
 void startDocument()
          Start document.
 void startDTD(org.apache.xerces.utils.QName rootElement, int publicId, int systemId)
          This function will be called when a <!DOCTYPE...> declaration is encountered.
 void startElement(org.apache.xerces.utils.QName elementQName, org.apache.xerces.framework.XMLAttrList xmlAttrList, int attrListIndex)
          Start element.
 void startEntityReference(int entityName, int entityType, int entityContext)
          Start entity reference.
 void startNamespaceDeclScope(int prefix, int uri)
          Report the start of the scope of a namespace declaration.
 void textDecl(int versionIndex, int encodingIndex)
          Text declaration.
 void unparsedEntityDecl(int entityNameIndex, int publicIdIndex, int systemIdIndex, int notationNameIndex)
          <!ENTITY Name ExternalID NDataDecl> (unparsed)
 void xmlDecl(int versionIndex, int encodingIndex, int standaloneIndex)
          XML declaration.
 
Methods inherited from class org.apache.xerces.framework.XMLParser
addRecognizer, getAllowJavaEncodings, getContinueAfterFatalError, getEntityResolver, getErrorHandler, getExternalGeneralEntities, getExternalParameterEntities, getLocator, getNamespaces, getValidation, getValidationDynamic, getValidationWarnOnDuplicateAttdef, getValidationWarnOnUndeclaredElemdef, getXMLString, initHandlers, isFeatureRecognized, isPropertyRecognized, parse, parse, parseSome, parseSomeSetup, reportError, setAllowJavaEncodings, setContinueAfterFatalError, setEntityResolver, setErrorHandler, setExternalGeneralEntities, setExternalParameterEntities, setLocale, setNamespaces, setReaderFactory, setValidation, setValidationDynamic, setValidationWarnOnDuplicateAttdef, setValidationWarnOnUndeclaredElemdef
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_DOCUMENT_CLASS_NAME

public static final java.lang.String DEFAULT_DOCUMENT_CLASS_NAME
Default programmatic document class name (org.apache.xerces.dom.DocumentImpl).

fDocument

protected Document fDocument

fDeferredDocumentImpl

protected DeferredDocumentImpl fDeferredDocumentImpl

fDocumentIndex

protected int fDocumentIndex

fDocumentTypeIndex

protected int fDocumentTypeIndex

fCurrentNodeIndex

protected int fCurrentNodeIndex

fDocumentImpl

protected DocumentImpl fDocumentImpl

fDocumentType

protected DocumentType fDocumentType

fCurrentElementNode

protected Node fCurrentElementNode

fInDTD

protected boolean fInDTD

fWithinElement

protected boolean fWithinElement

fInCDATA

protected boolean fInCDATA

fAmpIndex

protected int fAmpIndex

fLtIndex

protected int fLtIndex

fGtIndex

protected int fGtIndex

fAposIndex

protected int fAposIndex

fQuotIndex

protected int fQuotIndex
Constructor Detail

DOMParser

public DOMParser()
Default constructor.
Method Detail

getDocument

public Document getDocument()
Returns the document.

getFeaturesRecognized

public java.lang.String[] getFeaturesRecognized()
Returns a list of features that this parser recognizes. This method will never return null; if no features are recognized, this method will return a zero length array.
Overrides:
getFeaturesRecognized in class org.apache.xerces.framework.XMLParser
See Also:
XMLParser.isFeatureRecognized(java.lang.String), setFeature(java.lang.String, boolean), getFeature(java.lang.String)

getPropertiesRecognized

public java.lang.String[] getPropertiesRecognized()
Returns a list of properties that this parser recognizes. This method will never return null; if no properties are recognized, this method will return a zero length array.
Overrides:
getPropertiesRecognized in class org.apache.xerces.framework.XMLParser
See Also:
XMLParser.isPropertyRecognized(java.lang.String), setProperty(java.lang.String, java.lang.Object), getProperty(java.lang.String)

reset

public void reset()
           throws java.lang.Exception
Resets the parser.
Overrides:
reset in class org.apache.xerces.framework.XMLParser

resetOrCopy

public void resetOrCopy()
                 throws java.lang.Exception
Resets or copies the parser.
Overrides:
resetOrCopy in class org.apache.xerces.framework.XMLParser

init

protected void init()
Initializes the parser to a pre-parse state. This method is called between calls to parse().

setDeferNodeExpansion

protected void setDeferNodeExpansion(boolean deferNodeExpansion)
                              throws SAXNotRecognizedException,
                                     SAXNotSupportedException
This method sets whether the expansion of the nodes in the default DOM implementation are deferred.
See Also:
getDeferNodeExpansion(), setDocumentClassName(java.lang.String)

getDeferNodeExpansion

protected boolean getDeferNodeExpansion()
                                 throws SAXNotRecognizedException,
                                        SAXNotSupportedException
Returns true if the expansion of the nodes in the default DOM implementation are deferred.
See Also:
setDeferNodeExpansion(boolean)

setCreateEntityReferenceNodes

protected void setCreateEntityReferenceNodes(boolean create)
                                      throws SAXNotRecognizedException,
                                             SAXNotSupportedException
This feature determines whether entity references within the document are included in the document tree as EntityReference nodes.

Note: The children of the entity reference are always added to the document. This feature only affects whether an EntityReference node is also included as the parent of the entity reference children.

Parameters:
create - True to create entity reference nodes; false to only insert the entity reference children.
See Also:
getCreateEntityReferenceNodes()

getCreateEntityReferenceNodes

public boolean getCreateEntityReferenceNodes()
                                      throws SAXNotRecognizedException,
                                             SAXNotSupportedException
Returns true if entity references within the document are included in the document tree as EntityReference nodes.
See Also:
setCreateEntityReferenceNodes(boolean)

setIncludeIgnorableWhitespace

public void setIncludeIgnorableWhitespace(boolean include)
                                   throws SAXNotRecognizedException,
                                          SAXNotSupportedException
This feature determines whether text nodes that can be considered "ignorable whitespace" are included in the DOM tree.

Note: The only way that the parser can determine if text is ignorable is by reading the associated grammar and having a content model for the document. When ignorable whitespace text nodes *are* included in the DOM tree, they will be flagged as ignorable. The ignorable flag can be queried by calling the TextImpl#isIgnorableWhitespace():boolean method.

Parameters:
include - True to include ignorable whitespace text nodes; false to not include ignorable whitespace text nodes.
See Also:
getIncludeIgnorableWhitespace()

getIncludeIgnorableWhitespace

public boolean getIncludeIgnorableWhitespace()
                                      throws SAXNotRecognizedException,
                                             SAXNotSupportedException
Returns true if ignorable whitespace text nodes are included in the DOM tree.
See Also:
setIncludeIgnorableWhitespace(boolean)

setDocumentClassName

protected void setDocumentClassName(java.lang.String documentClassName)
                             throws SAXNotRecognizedException,
                                    SAXNotSupportedException
This method allows the programmer to decide which document factory to use when constructing the DOM tree. However, doing so will lose the functionality of the default factory. Also, a document class other than the default will lose the ability to defer node expansion on the DOM tree produced.
Parameters:
documentClassName - The fully qualified class name of the document factory to use when constructing the DOM tree.
See Also:
getDocumentClassName(), setDeferNodeExpansion(boolean), DEFAULT_DOCUMENT_CLASS_NAME

getDocumentClassName

protected java.lang.String getDocumentClassName()
                                         throws SAXNotRecognizedException,
                                                SAXNotSupportedException
Returns the fully qualified class name of the document factory used when constructing the DOM tree.
See Also:
setDocumentClassName(java.lang.String)

getCurrentElementNode

protected Element getCurrentElementNode()
                                 throws SAXNotRecognizedException,
                                        SAXNotSupportedException
Returns the current element node.

Note: This method is not supported when the "deferNodeExpansion" property is set to true and the document factory is set to the default factory.


setFeature

public void setFeature(java.lang.String featureId,
                       boolean state)
                throws SAXNotRecognizedException,
                       SAXNotSupportedException
Set the state of any feature in a SAX2 parser. The parser might not recognize the feature, and if it does recognize it, it might not be able to fulfill the request.
Overrides:
setFeature in class org.apache.xerces.framework.XMLParser
Parameters:
featureId - The unique identifier (URI) of the feature.
state - The requested state of the feature (true or false).
Throws:
SAXNotRecognizedException - If the requested feature is not known.
SAXNotSupportedException - If the requested feature is known, but the requested state is not supported.

getFeature

public boolean getFeature(java.lang.String featureId)
                   throws SAXNotRecognizedException,
                          SAXNotSupportedException
Query the current state of any feature in a SAX2 parser. The parser might not recognize the feature.
Overrides:
getFeature in class org.apache.xerces.framework.XMLParser
Parameters:
featureId - The unique identifier (URI) of the feature being set.
Returns:
The current state of the feature.
Throws:
SAXNotRecognizedException - If the requested feature is not known.

setProperty

public void setProperty(java.lang.String propertyId,
                        java.lang.Object value)
                 throws SAXNotRecognizedException,
                        SAXNotSupportedException
Set the value of any property in a SAX2 parser. The parser might not recognize the property, and if it does recognize it, it might not support the requested value.
Overrides:
setProperty in class org.apache.xerces.framework.XMLParser
Parameters:
propertyId - The unique identifier (URI) of the property being set.
Object - The value to which the property is being set.
Throws:
SAXNotRecognizedException - If the requested property is not known.
SAXNotSupportedException - If the requested property is known, but the requested value is not supported.

getProperty

public java.lang.Object getProperty(java.lang.String propertyId)
                             throws SAXNotRecognizedException,
                                    SAXNotSupportedException
Return the current value of a property in a SAX2 parser. The parser might not recognize the property.
Overrides:
getProperty in class org.apache.xerces.framework.XMLParser
Parameters:
propertyId - The unique identifier (URI) of the property being set.
Returns:
The current value of the property.
Throws:
SAXNotRecognizedException - If the requested property is not known.
See Also:
Configurable#getProperty

startDocument

public void startDocument()
Start document.
Specified by:
startDocument in interface org.apache.xerces.framework.XMLDocumentHandler

endDocument

public void endDocument()
                 throws java.lang.Exception
End document.
Specified by:
endDocument in interface org.apache.xerces.framework.XMLDocumentHandler

xmlDecl

public void xmlDecl(int versionIndex,
                    int encodingIndex,
                    int standaloneIndex)
             throws java.lang.Exception
XML declaration.
Specified by:
xmlDecl in interface org.apache.xerces.framework.XMLDocumentHandler

textDecl

public void textDecl(int versionIndex,
                     int encodingIndex)
              throws java.lang.Exception
Text declaration.
Specified by:
textDecl in interface org.apache.xerces.framework.XMLDocumentHandler

startNamespaceDeclScope

public void startNamespaceDeclScope(int prefix,
                                    int uri)
                             throws java.lang.Exception
Report the start of the scope of a namespace declaration.
Specified by:
startNamespaceDeclScope in interface org.apache.xerces.framework.XMLDocumentHandler

endNamespaceDeclScope

public void endNamespaceDeclScope(int prefix)
                           throws java.lang.Exception
Report the end of the scope of a namespace declaration.
Specified by:
endNamespaceDeclScope in interface org.apache.xerces.framework.XMLDocumentHandler

startElement

public void startElement(org.apache.xerces.utils.QName elementQName,
                         org.apache.xerces.framework.XMLAttrList xmlAttrList,
                         int attrListIndex)
                  throws java.lang.Exception
Start element.
Specified by:
startElement in interface org.apache.xerces.framework.XMLDocumentHandler

endElement

public void endElement(org.apache.xerces.utils.QName elementQName)
                throws java.lang.Exception
End element.
Specified by:
endElement in interface org.apache.xerces.framework.XMLDocumentHandler

characters

public void characters(int dataIndex)
                throws java.lang.Exception
Characters.
Specified by:
characters in interface org.apache.xerces.framework.XMLDocumentHandler

ignorableWhitespace

public void ignorableWhitespace(int dataIndex)
                         throws java.lang.Exception
Ignorable whitespace.
Specified by:
ignorableWhitespace in interface org.apache.xerces.framework.XMLDocumentHandler

processingInstruction

public void processingInstruction(int targetIndex,
                                  int dataIndex)
                           throws java.lang.Exception
Processing instruction.
Specified by:
processingInstruction in interface org.apache.xerces.framework.XMLDocumentHandler

comment

public void comment(int dataIndex)
             throws java.lang.Exception
Comment.
Specified by:
comment in interface org.apache.xerces.framework.XMLDocumentHandler

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws java.lang.Exception
Not called.
Specified by:
characters in interface org.apache.xerces.framework.XMLDocumentHandler

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws java.lang.Exception
Not called.
Specified by:
ignorableWhitespace in interface org.apache.xerces.framework.XMLDocumentHandler

startCDATA

public void startCDATA()
                throws java.lang.Exception
Start CDATA section.
Specified by:
startCDATA in interface org.apache.xerces.framework.XMLDocumentHandler

endCDATA

public void endCDATA()
              throws java.lang.Exception
End CDATA section.
Specified by:
endCDATA in interface org.apache.xerces.framework.XMLDocumentHandler

startEntityReference

public void startEntityReference(int entityName,
                                 int entityType,
                                 int entityContext)
                          throws java.lang.Exception
Start entity reference.
Specified by:
startEntityReference in interface org.apache.xerces.framework.XMLDocumentHandler

endEntityReference

public void endEntityReference(int entityName,
                               int entityType,
                               int entityContext)
                        throws java.lang.Exception
End entity reference.
Specified by:
endEntityReference in interface org.apache.xerces.framework.XMLDocumentHandler

startDTD

public void startDTD(org.apache.xerces.utils.QName rootElement,
                     int publicId,
                     int systemId)
              throws java.lang.Exception
This function will be called when a <!DOCTYPE...> declaration is encountered.
Specified by:
startDTD in interface org.apache.xerces.framework.XMLDocumentHandler.DTDHandler

internalSubset

public void internalSubset(int internalSubset)
Supports DOM Level 2 internalSubset additions. Called when the internal subset is completely scanned.
Specified by:
internalSubset in interface org.apache.xerces.framework.XMLDocumentHandler.DTDHandler

endDTD

public void endDTD()
            throws java.lang.Exception
This function will be called at the end of the DTD.
Specified by:
endDTD in interface org.apache.xerces.framework.XMLDocumentHandler.DTDHandler

elementDecl

public void elementDecl(org.apache.xerces.utils.QName elementDecl,
                        int contentSpecType,
                        int contentSpecIndex,
                        org.apache.xerces.framework.XMLContentSpec.Provider contentSpecProvider)
                 throws java.lang.Exception
<!ELEMENT Name contentspec>
Specified by:
elementDecl in interface org.apache.xerces.framework.XMLDocumentHandler.DTDHandler

attlistDecl

public void attlistDecl(org.apache.xerces.utils.QName elementDecl,
                        org.apache.xerces.utils.QName attributeDecl,
                        int attType,
                        boolean attList,
                        java.lang.String enumString,
                        int attDefaultType,
                        int attDefaultValue)
                 throws java.lang.Exception
<!ATTLIST Name AttDef>
Specified by:
attlistDecl in interface org.apache.xerces.framework.XMLDocumentHandler.DTDHandler

internalPEDecl

public void internalPEDecl(int entityNameIndex,
                           int entityValueIndex)
                    throws java.lang.Exception
<!ENTITY % Name EntityValue> (internal)
Specified by:
internalPEDecl in interface org.apache.xerces.framework.XMLDocumentHandler.DTDHandler

externalPEDecl

public void externalPEDecl(int entityNameIndex,
                           int publicIdIndex,
                           int systemIdIndex)
                    throws java.lang.Exception
<!ENTITY % Name ExternalID> (external)
Specified by:
externalPEDecl in interface org.apache.xerces.framework.XMLDocumentHandler.DTDHandler

internalEntityDecl

public void internalEntityDecl(int entityNameIndex,
                               int entityValueIndex)
                        throws java.lang.Exception
<!ENTITY Name EntityValue> (internal)
Specified by:
internalEntityDecl in interface org.apache.xerces.framework.XMLDocumentHandler.DTDHandler

externalEntityDecl

public void externalEntityDecl(int entityNameIndex,
                               int publicIdIndex,
                               int systemIdIndex)
                        throws java.lang.Exception
<!ENTITY Name ExternalID> (external)
Specified by:
externalEntityDecl in interface org.apache.xerces.framework.XMLDocumentHandler.DTDHandler

unparsedEntityDecl

public void unparsedEntityDecl(int entityNameIndex,
                               int publicIdIndex,
                               int systemIdIndex,
                               int notationNameIndex)
                        throws java.lang.Exception
<!ENTITY Name ExternalID NDataDecl> (unparsed)
Specified by:
unparsedEntityDecl in interface org.apache.xerces.framework.XMLDocumentHandler.DTDHandler

notationDecl

public void notationDecl(int notationNameIndex,
                         int publicIdIndex,
                         int systemIdIndex)
                  throws java.lang.Exception
<!NOTATION Name ExternalId>
Specified by:
notationDecl in interface org.apache.xerces.framework.XMLDocumentHandler.DTDHandler

Xerces 1.1.1