org.apache.xerces.parsers
Class AbstractDOMParser

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

public abstract class AbstractDOMParser
extends AbstractXMLDocumentParser

This is the base class of all DOM parsers. It implements the XNI callback methods to create the DOM tree. After a successful parse of an XML document, the DOM Document object can be queried using the getDocument method. The actual pipeline is defined in parser configuration.

Version:
$Id: AbstractDOMParser.java,v 1.10 2001/10/26 22:40:00 elena Exp $
Author:
Stubs generated by DesignDoc on Mon Sep 11 11:10:57 PDT 2000, Arnaud Le Hors, IBM, Andy Clark, IBM

Field Summary
protected static java.lang.String CREATE_ENTITY_REF_NODES
          Feature id: create entity ref nodes.
protected static java.lang.String DEFAULT_DOCUMENT_CLASS_NAME
           
protected static java.lang.String DEFER_NODE_EXPANSION
          Feature id: defer node expansion.
protected static java.lang.String DOCUMENT_CLASS_NAME
          Property id: document class name.
protected  boolean fCreateEntityRefNodes
          Create entity reference nodes.
protected  org.w3c.dom.CDATASection fCurrentCDATASection
           
protected  int fCurrentCDATASectionIndex
           
protected  java.lang.String fCurrentEntityName
           
protected  java.lang.String fCurrentEntityNode
           
protected  org.w3c.dom.Node fCurrentNode
          Current node.
protected  int fCurrentNodeIndex
           
protected  boolean fDeferNodeExpansion
           
protected  DeferredDocumentImpl fDeferredDocumentImpl
           
protected  org.w3c.dom.Document fDocument
          The document.
protected  java.lang.String fDocumentClassName
          The document class name to use.
protected  DocumentImpl fDocumentImpl
          The default Xerces document implementation, if used.
protected  int fDocumentIndex
           
protected  org.w3c.dom.DocumentType fDocumentType
          The document type node.
protected  int fDocumentTypeIndex
           
protected  boolean fInCDATASection
          True if inside CDATA section.
protected  boolean fIncludeIgnorableWhitespace
          Include ignorable whitespace.
protected  boolean fInDocument
          True if inside document.
protected  boolean fNamespaceAware
           
protected static java.lang.String INCLUDE_IGNORABLE_WHITESPACE
          Feature id: include ignorable whitespace.
protected static java.lang.String NAMESPACES
           
 
Fields inherited from class org.apache.xerces.parsers.AbstractXMLDocumentParser
fInDTD
 
Fields inherited from class org.apache.xerces.parsers.XMLParser
ENTITY_RESOLVER, ERROR_HANDLER, fConfiguration
 
Constructor Summary
protected AbstractDOMParser(org.apache.xerces.xni.parser.XMLParserConfiguration config)
          Default constructor.
 
Method Summary
 void characters(org.apache.xerces.xni.XMLString text)
          Character content.
 void comment(org.apache.xerces.xni.XMLString text)
          A comment.
 void doctypeDecl(java.lang.String rootElement, java.lang.String publicId, java.lang.String systemId)
          Notifies of the presence of the DOCTYPE line in the document.
 void endCDATA()
          The end of a CDATA section.
 void endDocument()
          The end of the document.
 void endElement(org.apache.xerces.xni.QName element)
          The end of an element.
 void endEntity(java.lang.String name)
          This method notifies the end of an entity.
 void endPrefixMapping(java.lang.String prefix)
          The end of a namespace prefix mapping.
 void externalEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String baseSystemId)
          An external entity declaration.
 org.w3c.dom.Document getDocument()
          Returns the DOM document object.
 void ignorableWhitespace(org.apache.xerces.xni.XMLString text)
          Ignorable whitespace.
 void internalEntityDecl(java.lang.String name, org.apache.xerces.xni.XMLString text, org.apache.xerces.xni.XMLString nonNormalizedText)
          An internal entity declaration.
 void notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
          A notation declaration
 void processingInstruction(java.lang.String target, org.apache.xerces.xni.XMLString data)
          A processing instruction.
 void reset()
          Resets the parser state.
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 startCDATA()
          The start of a CDATA section.
 void startDocument(org.apache.xerces.xni.XMLLocator locator, java.lang.String encoding)
          The start of the document.
 void startElement(org.apache.xerces.xni.QName element, org.apache.xerces.xni.XMLAttributes attributes)
          The start of an element.
 void startEntity(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String baseSystemId, java.lang.String encoding)
          This method notifies of the start of an entity.
 void unparsedEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String notation)
          An unparsed entity declaration.
 
Methods inherited from class org.apache.xerces.parsers.AbstractXMLDocumentParser
any, attributeDecl, element, elementDecl, empty, emptyElement, endAttlist, endConditional, endContentModel, endDTD, endGroup, occurrence, pcdata, separator, startAttlist, startConditional, startContentModel, startDTD, startGroup, startPrefixMapping, textDecl, xmlDecl
 
Methods inherited from class org.apache.xerces.parsers.XMLParser
parse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CREATE_ENTITY_REF_NODES

protected static final java.lang.String CREATE_ENTITY_REF_NODES
Feature id: create entity ref nodes.

NAMESPACES

protected static final java.lang.String NAMESPACES

INCLUDE_IGNORABLE_WHITESPACE

protected static final java.lang.String INCLUDE_IGNORABLE_WHITESPACE
Feature id: include ignorable whitespace.

DEFER_NODE_EXPANSION

protected static final java.lang.String DEFER_NODE_EXPANSION
Feature id: defer node expansion.

DOCUMENT_CLASS_NAME

protected static final java.lang.String DOCUMENT_CLASS_NAME
Property id: document class name.

DEFAULT_DOCUMENT_CLASS_NAME

protected static final java.lang.String DEFAULT_DOCUMENT_CLASS_NAME

fCreateEntityRefNodes

protected boolean fCreateEntityRefNodes
Create entity reference nodes.

fIncludeIgnorableWhitespace

protected boolean fIncludeIgnorableWhitespace
Include ignorable whitespace.

fDocument

protected org.w3c.dom.Document fDocument
The document.

fDocumentImpl

protected DocumentImpl fDocumentImpl
The default Xerces document implementation, if used.

fDocumentClassName

protected java.lang.String fDocumentClassName
The document class name to use.

fDocumentType

protected org.w3c.dom.DocumentType fDocumentType
The document type node.

fCurrentNode

protected org.w3c.dom.Node fCurrentNode
Current node.

fCurrentCDATASection

protected org.w3c.dom.CDATASection fCurrentCDATASection

fCurrentEntityName

protected java.lang.String fCurrentEntityName

fCurrentEntityNode

protected java.lang.String fCurrentEntityNode

fDeferNodeExpansion

protected boolean fDeferNodeExpansion

fNamespaceAware

protected boolean fNamespaceAware

fDeferredDocumentImpl

protected DeferredDocumentImpl fDeferredDocumentImpl

fDocumentIndex

protected int fDocumentIndex

fDocumentTypeIndex

protected int fDocumentTypeIndex

fCurrentNodeIndex

protected int fCurrentNodeIndex

fCurrentCDATASectionIndex

protected int fCurrentCDATASectionIndex

fInDocument

protected boolean fInDocument
True if inside document.

fInCDATASection

protected boolean fInCDATASection
True if inside CDATA section.
Constructor Detail

AbstractDOMParser

protected AbstractDOMParser(org.apache.xerces.xni.parser.XMLParserConfiguration config)
Default constructor.
Method Detail

setDocumentClassName

protected void setDocumentClassName(java.lang.String documentClassName)
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, DEFAULT_DOCUMENT_CLASS_NAME

getDocument

public org.w3c.dom.Document getDocument()
Returns the DOM document object.

reset

public void reset()
           throws org.apache.xerces.xni.XNIException
Resets the parser state.
Overrides:
reset in class AbstractXMLDocumentParser
Throws:
SAXException - Thrown on initialization error.

startEntity

public void startEntity(java.lang.String name,
                        java.lang.String publicId,
                        java.lang.String systemId,
                        java.lang.String baseSystemId,
                        java.lang.String encoding)
                 throws org.apache.xerces.xni.XNIException
This method notifies of the start of an entity. The DTD has the pseudo-name of "[dtd]; parameter entity names start with '%'; and general entity names are just the entity name.

Note: Since the DTD is an entity, the handler will be notified of the start of the DTD entity by calling the startEntity method with the entity name "[dtd]" before calling the startDTD method.

Note: This method is not called for entity references appearing as part of attribute values.

Overrides:
startEntity in class AbstractXMLDocumentParser
Parameters:
name - The name of the entity.
publicId - The public identifier of the entity if the entity is external, null otherwise.
systemId - The system identifier of the entity if the entity is external, null otherwise.
encoding - The auto-detected IANA encoding name of the entity stream. This value will be null in those situations where the entity encoding is not auto-detected (e.g. internal parameter entities).
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

comment

public void comment(org.apache.xerces.xni.XMLString text)
             throws org.apache.xerces.xni.XNIException
A comment.
Overrides:
comment in class AbstractXMLDocumentParser
Parameters:
text - The text in the comment.
Throws:
org.apache.xerces.xni.XNIException - Thrown by application to signal an error.

processingInstruction

public void processingInstruction(java.lang.String target,
                                  org.apache.xerces.xni.XMLString data)
                           throws org.apache.xerces.xni.XNIException
A processing instruction. Processing instructions consist of a target name and, optionally, text data. The data is only meaningful to the application.

Typically, a processing instruction's data will contain a series of pseudo-attributes. These pseudo-attributes follow the form of element attributes but are not parsed or presented to the application as anything other than text. The application is responsible for parsing the data.

Overrides:
processingInstruction in class AbstractXMLDocumentParser
Parameters:
target - The target.
data - The data or null if none specified.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

startDocument

public void startDocument(org.apache.xerces.xni.XMLLocator locator,
                          java.lang.String encoding)
                   throws org.apache.xerces.xni.XNIException
The start of the document.
Overrides:
startDocument in class AbstractXMLDocumentParser
Parameters:
systemId - The system identifier of the entity if the entity is external, null otherwise.
encoding - The auto-detected IANA encoding name of the entity stream. This value will be null in those situations where the entity encoding is not auto-detected (e.g. internal entities or a document entity that is parsed from a java.io.Reader).
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

doctypeDecl

public void doctypeDecl(java.lang.String rootElement,
                        java.lang.String publicId,
                        java.lang.String systemId)
                 throws org.apache.xerces.xni.XNIException
Notifies of the presence of the DOCTYPE line in the document.
Overrides:
doctypeDecl in class AbstractXMLDocumentParser
Parameters:
rootElement - The name of the root element.
publicId - The public identifier if an external DTD or null if the external DTD is specified using SYSTEM.
systemId - The system identifier if an external DTD, null otherwise.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

startElement

public void startElement(org.apache.xerces.xni.QName element,
                         org.apache.xerces.xni.XMLAttributes attributes)
                  throws org.apache.xerces.xni.XNIException
The start of an element. If the document specifies the start element by using an empty tag, then the startElement method will immediately be followed by the endElement method, with no intervening methods.
Overrides:
startElement in class AbstractXMLDocumentParser
Parameters:
element - The name of the element.
attributes - The element attributes.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

characters

public void characters(org.apache.xerces.xni.XMLString text)
                throws org.apache.xerces.xni.XNIException
Character content.
Overrides:
characters in class AbstractXMLDocumentParser
Parameters:
text - The content.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

ignorableWhitespace

public void ignorableWhitespace(org.apache.xerces.xni.XMLString text)
                         throws org.apache.xerces.xni.XNIException
Ignorable whitespace. For this method to be called, the document source must have some way of determining that the text containing only whitespace characters should be considered ignorable. For example, the validator can determine if a length of whitespace characters in the document are ignorable based on the element content model.
Overrides:
ignorableWhitespace in class AbstractXMLDocumentParser
Parameters:
text - The ignorable whitespace.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

endElement

public void endElement(org.apache.xerces.xni.QName element)
                throws org.apache.xerces.xni.XNIException
The end of an element.
Overrides:
endElement in class AbstractXMLDocumentParser
Parameters:
element - The name of the element.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
                      throws org.apache.xerces.xni.XNIException
The end of a namespace prefix mapping. This method will only be called when namespace processing is enabled.
Overrides:
endPrefixMapping in class AbstractXMLDocumentParser
Parameters:
prefix - The namespace prefix.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

startCDATA

public void startCDATA()
                throws org.apache.xerces.xni.XNIException
The start of a CDATA section.
Overrides:
startCDATA in class AbstractXMLDocumentParser
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

endCDATA

public void endCDATA()
              throws org.apache.xerces.xni.XNIException
The end of a CDATA section.
Overrides:
endCDATA in class AbstractXMLDocumentParser
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

endDocument

public void endDocument()
                 throws org.apache.xerces.xni.XNIException
The end of the document.
Overrides:
endDocument in class AbstractXMLDocumentParser
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

endEntity

public void endEntity(java.lang.String name)
               throws org.apache.xerces.xni.XNIException
This method notifies the end of an entity. The DTD has the pseudo-name of "[dtd]; parameter entity names start with '%'; and general entity names are just the entity name.

Note: Since the DTD is an entity, the handler will be notified of the end of the DTD entity by calling the endEntity method with the entity name "[dtd]" after calling the endDTD method.

Note: This method is not called for entity references appearing as part of attribute values.

Overrides:
endEntity in class AbstractXMLDocumentParser
Parameters:
name - The name of the entity.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

internalEntityDecl

public void internalEntityDecl(java.lang.String name,
                               org.apache.xerces.xni.XMLString text,
                               org.apache.xerces.xni.XMLString nonNormalizedText)
                        throws org.apache.xerces.xni.XNIException
An internal entity declaration.
Overrides:
internalEntityDecl in class AbstractXMLDocumentParser
Parameters:
name - The name of the entity. Parameter entity names start with '%', whereas the name of a general entity is just the entity name.
text - The value of the entity.
nonNormalizedText - The non-normalized value of the entity. This value contains the same sequence of characters that was in the internal entity declaration, without any entity references expanded.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

externalEntityDecl

public void externalEntityDecl(java.lang.String name,
                               java.lang.String publicId,
                               java.lang.String systemId,
                               java.lang.String baseSystemId)
                        throws org.apache.xerces.xni.XNIException
An external entity declaration.
Overrides:
externalEntityDecl in class AbstractXMLDocumentParser
Parameters:
name - The name of the entity. Parameter entity names start with '%', whereas the name of a general entity is just the entity name.
publicId - The public identifier of the entity or null if the the entity was specified with SYSTEM.
systemId - The system identifier of the entity.
baseSystemId - The base system identifier where this entity is declared.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

unparsedEntityDecl

public void unparsedEntityDecl(java.lang.String name,
                               java.lang.String publicId,
                               java.lang.String systemId,
                               java.lang.String notation)
                        throws org.apache.xerces.xni.XNIException
An unparsed entity declaration.
Overrides:
unparsedEntityDecl in class AbstractXMLDocumentParser
Parameters:
name - The name of the entity.
publicId - The public identifier of the entity, or null if not specified.
systemId - The system identifier of the entity, or null if not specified.
notation - The name of the notation.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.

notationDecl

public void notationDecl(java.lang.String name,
                         java.lang.String publicId,
                         java.lang.String systemId)
                  throws org.apache.xerces.xni.XNIException
A notation declaration
Overrides:
notationDecl in class AbstractXMLDocumentParser
Parameters:
name - The name of the notation.
publicId - The public identifier of the notation, or null if not specified.
systemId - The system identifier of the notation, or null if not specified.
Throws:
org.apache.xerces.xni.XNIException - Thrown by handler to signal an error.


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