gnu.xml.util

Class DomParser

public final class DomParser extends Object implements XMLReader

This parser emits SAX2 parsing events as it traverses a DOM tree, using any conformant implementation of DOM. It exposes all SAX1 features, and the following SAX2 features and properties (as identified by standard URIs which are not fully provided here). Note that if a Level 1 DOM implementation is given, then this behaves as if namespaces were disabled, and namespace prefixes were enabled.

Name Notes
Features ... URL prefix is http://xml.org/sax/features/
(URL)/external-general-entities false (does no parsing)
(URL)/external-parameter-entities false (does no parsing)
(URL)/namespaces Value is fixed at true
(URL)/namespace-prefixes Value is settable, defaulting to false (xmlns attributes hidden, and names aren't prefixed)
(URL)/string-interning Value is fixed at false (DOM provides no guarantees as to interning)
(URL)/validation false (does no parsing)
(URL)/lexical-handler/parameter-entities false (DOM doesn't do parameter entities)
Properties ... URL prefix is http://xml.org/sax/properties/
(URL)/dom-node This property may be set before parsing to hold a DOM Document node; any arguments given to parse methods are ignored. When retrieved during a parse, this value contains the "current" DOM node.
(URL)/declaration-handler A declaration handler may be provided. Declaration of external general entities is exposed, but not parameter entities; none of the entity names reported here will begin with "%".
(URL)/lexical-handler A lexical handler may be provided. While the start and end of any external subset are reported, expansion of other parameter entities (e.g. inside attribute list declarations) is not exposed. Expansion of general entities within attributes is also not exposed (see below).

The consequences of modifying a DOM document tree as it is being walked by this "parser" are unspecified; don't do it!

Version: $Date: 2001/11/09 22:58:17 $

Author: David Brownell

Constructor Summary
DomParser()
Constructs an unitialized SAX2 parser.
DomParser(Node node)
Constructs an SAX2 parser initialized to traverse the specified DOM tree.
Method Summary
ContentHandlergetContentHandler()
SAX2: Returns the object used to report the logical content of an XML document.
DTDHandlergetDTDHandler()
SAX2: Returns the object used to process declarations related to notations and unparsed entities.
EntityResolvergetEntityResolver()
SAX2: Returns the object used when resolving external entities during parsing (both general and parameter entities).
ErrorHandlergetErrorHandler()
SAX2: Returns the object used to receive callbacks for XML errors of all levels (fatal, nonfatal, warning).
booleangetFeature(String name)
SAX2: Tells whether this parser supports the specified feature.
ObjectgetProperty(String name)
SAX2: Returns the specified property.
voidparse(String uri)
SAX1: Parses the previously provided DOM document (the input parameter is ignored).
voidparse(InputSource input)
SAX1: Parses the previously provided DOM document (the input parameter is ignored).
voidsetContentHandler(ContentHandler handler)
SAX2: Assigns the object used to report the logical content of an XML document.
voidsetDTDHandler(DTDHandler handler)
SAX1: Provides an object which may be used to intercept declarations related to notations and unparsed entities.
voidsetEntityResolver(EntityResolver resolver)
SAX1: Provides an object which may be used when resolving external entities during parsing (both general and parameter entities).
voidsetErrorHandler(ErrorHandler handler)
SAX1: Provides an object which receives callbacks for XML errors of all levels (fatal, nonfatal, warning).
voidsetFeature(String name, boolean state)
SAX2: Sets the state of features supported in this parser.
voidsetLocale(Locale locale)
SAX1: Identifies the locale which the parser should use for the diagnostics it provides.
voidsetProperty(String name, Object state)
SAX2: Assigns the specified property.

Constructor Detail

DomParser

public DomParser()
Constructs an unitialized SAX2 parser.

DomParser

public DomParser(Node node)
Constructs an SAX2 parser initialized to traverse the specified DOM tree. If the node is a document, the startDocument() and endDocument() calls bracket the calls exposing children.

Method Detail

getContentHandler

public ContentHandler getContentHandler()
SAX2: Returns the object used to report the logical content of an XML document.

getDTDHandler

public DTDHandler getDTDHandler()
SAX2: Returns the object used to process declarations related to notations and unparsed entities.

getEntityResolver

public EntityResolver getEntityResolver()
SAX2: Returns the object used when resolving external entities during parsing (both general and parameter entities).

getErrorHandler

public ErrorHandler getErrorHandler()
SAX2: Returns the object used to receive callbacks for XML errors of all levels (fatal, nonfatal, warning).

getFeature

public boolean getFeature(String name)
SAX2: Tells whether this parser supports the specified feature.

getProperty

public Object getProperty(String name)
SAX2: Returns the specified property. At this time only the declaration and lexical handlers, and current the "DOM" node, are supported.

parse

public void parse(String uri)
SAX1: Parses the previously provided DOM document (the input parameter is ignored). When this returns, that same document may be parsed again without needing a "reset".

Parameters: uri ignored (pass an empty string)

Throws: SAXException as defined in the specification for org.xml.sax.Parser.parse()

parse

public void parse(InputSource input)
SAX1: Parses the previously provided DOM document (the input parameter is ignored). When this returns, that same document may be parsed again without needing a "reset".

Parameters: input ignored

Throws: SAXException as defined in the specification for org.xml.sax.Parser.parse()

setContentHandler

public void setContentHandler(ContentHandler handler)
SAX2: Assigns the object used to report the logical content of an XML document.

setDTDHandler

public void setDTDHandler(DTDHandler handler)
SAX1: Provides an object which may be used to intercept declarations related to notations and unparsed entities.

setEntityResolver

public void setEntityResolver(EntityResolver resolver)
SAX1: Provides an object which may be used when resolving external entities during parsing (both general and parameter entities).

setErrorHandler

public void setErrorHandler(ErrorHandler handler)
SAX1: Provides an object which receives callbacks for XML errors of all levels (fatal, nonfatal, warning).

setFeature

public void setFeature(String name, boolean state)
SAX2: Sets the state of features supported in this parser. Only the namespace support features are mutable.

setLocale

public void setLocale(Locale locale)
SAX1: Identifies the locale which the parser should use for the diagnostics it provides.

Throws: SAXException as defined in the specification for org.xml.sax.Parser.setLocale()

setProperty

public void setProperty(String name, Object state)
SAX2: Assigns the specified property. At this time only declaration and lexical handlers, and the initial DOM document, are supported. These must not be changed to values of the wrong type. Like SAX1 handlers, these handlers may be changed at any time. Like SAX1 input source or document URI, the initial DOM document may not be changed during a parse.

Source code is under GPL (with library exception) in the JAXP project at http://www.gnu.org/software/classpathx/jaxp
This documentation was derived from that source code on 2013-01-12.