## com.icl.saxon
Class DOMDriver

    java.lang.Object
      com.icl.saxon.DOMDriver

All Implemented Interfaces:
  org.xml.sax.Locator, org.xml.sax.XMLReader

Direct Known Subclasses:
  TreeDriver

public class DOMDriver
extends java.lang.Object
implements org.xml.sax.Locator, org.xml.sax.XMLReader

DOMDriver.java: (pseudo-)SAX driver for DOM.
This class simulates the action of a SAX Parser, taking an already-constructed DOM Document and walking around it in a depth-first traversal, calling a SAX-compliant ContentHandler to process the children as it does so.

Field Summary
`protected org.xml.sax.ContentHandler` `contentHandler`
`protected org.w3c.dom.Node` `root`
`protected java.lang.String` `systemId`

Constructor Summary
`DOMDriver()`

Method Summary
`int` `getColumnNumber()`
`org.xml.sax.ContentHandler` `getContentHandler()`
`org.xml.sax.DTDHandler` `getDTDHandler()` SAX2: Returns the object used to process declarations related to notations and unparsed entities.
`org.xml.sax.EntityResolver` `getEntityResolver()` SAX2: Returns the object used when resolving external entities during parsing (both general and parameter entities).
`org.xml.sax.ErrorHandler` `getErrorHandler()` SAX2: Returns the object used to receive callbacks for XML errors of all levels (fatal, nonfatal, warning); this is never null;
`boolean` `getFeature(java.lang.String featureId)` SAX2: Tells the value of the specified feature flag.
`int` `getLineNumber()`
`java.lang.Object` `getProperty(java.lang.String name)` SAX2: Returns the specified property.
`java.lang.String` `getPublicId()`
`java.lang.String` `getSystemId()`
`void` `parse()` Walk a document (traversing the nodes depth first)
`void` `parse(org.xml.sax.InputSource source)` Parse from InputSource.
`void` `parse(java.lang.String source)` Parse from SystemId.
`void` `setContentHandler(org.xml.sax.ContentHandler handler)` Set the content handler.
`void` `setDocumentHandler(org.xml.sax.DocumentHandler handler)` Deprecated. SAX2 programs should use the XMLReader interface and a ContentHandler.
`void` `setDTDHandler(org.xml.sax.DTDHandler handler)` SAX1, SAX2: Set the DTD handler for this parser.
`void` `setEntityResolver(org.xml.sax.EntityResolver resolver)` SAX1, SAX2: Set the entity resolver for this parser.
`void` `setErrorHandler(org.xml.sax.ErrorHandler handler)` SAX1, SAX2: Set the error handler for this parser.
`void` `setFeature(java.lang.String featureId, boolean on)` SAX2: Sets the state of feature flags in this parser.
`void` `setLocale(java.util.Locale locale)` SAX1: Sets the locale used for diagnostics; currently, only locales using the English language are supported.
`void` `setProperty(java.lang.String propertyId, java.lang.Object property)` SAX2: Assigns the specified property.
`void` `setStartNode(org.w3c.dom.Node start)` Set the DOM Document that will be walked
`void` `setSystemId(java.lang.String systemId)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### contentHandler

    protected org.xml.sax.ContentHandler contentHandler

### root

    protected org.w3c.dom.Node root

### systemId

    protected java.lang.String systemId

Constructor Detail

### DOMDriver

    public DOMDriver()

Method Detail

### setContentHandler

    public void setContentHandler(org.xml.sax.ContentHandler handler)

  Set the content handler.

  Specified by:
    `setContentHandler` in interface `org.xml.sax.XMLReader`
  Parameters:
    `handler` - The object to receive content events. If this also implements LexicalHandler, it will also be notified of comments.

### getContentHandler

    public org.xml.sax.ContentHandler getContentHandler()

  Specified by:
    `getContentHandler` in interface `org.xml.sax.XMLReader`

### setLocale

    public void setLocale(java.util.Locale locale)
                   throws org.xml.sax.SAXException

  SAX1: Sets the locale used for diagnostics; currently, only locales using the English language are supported.

  Parameters:
    `locale` - The locale for which diagnostics will be generated
  Throws:
    `org.xml.sax.SAXException`

### getEntityResolver

    public org.xml.sax.EntityResolver getEntityResolver()

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

  Specified by:
    `getEntityResolver` in interface `org.xml.sax.XMLReader`

### setEntityResolver

    public void setEntityResolver(org.xml.sax.EntityResolver resolver)

  SAX1, SAX2: Set the entity resolver for this parser.

  Specified by:
    `setEntityResolver` in interface `org.xml.sax.XMLReader`
  Parameters:
    `resolver` - The object to receive entity events.

### getDTDHandler

    public org.xml.sax.DTDHandler getDTDHandler()

  SAX2: Returns the object used to process declarations related to notations and unparsed entities.

  Specified by:
    `getDTDHandler` in interface `org.xml.sax.XMLReader`

### setDTDHandler

    public void setDTDHandler(org.xml.sax.DTDHandler handler)

  SAX1, SAX2: Set the DTD handler for this parser.

  Specified by:
    `setDTDHandler` in interface `org.xml.sax.XMLReader`
  Parameters:
    `handler` - The object to receive DTD events.

### setDocumentHandler

    public void setDocumentHandler(org.xml.sax.DocumentHandler handler)

  Deprecated. SAX2 programs should use the XMLReader interface and a ContentHandler.

  SAX1: Set the document handler for this parser. If a content handler was set, this document handler will supplant it. The parser is set to report all XML 1.0 names rather than to filter out "xmlns" attributes (the "namespace-prefixes" feature is set to true).

  Parameters:
    `handler` - The object to receive document events.

### setErrorHandler

    public void setErrorHandler(org.xml.sax.ErrorHandler handler)

  SAX1, SAX2: Set the error handler for this parser.

  Specified by:
    `setErrorHandler` in interface `org.xml.sax.XMLReader`
  Parameters:
    `handler` - The object to receive error events.

### getErrorHandler

    public org.xml.sax.ErrorHandler getErrorHandler()

  SAX2: Returns the object used to receive callbacks for XML errors of all levels (fatal, nonfatal, warning); this is never null;

  Specified by:
    `getErrorHandler` in interface `org.xml.sax.XMLReader`

### setStartNode

    public void setStartNode(org.w3c.dom.Node start)

  Set the DOM Document that will be walked

### parse

    public void parse(org.xml.sax.InputSource source)
               throws org.xml.sax.SAXException

  Parse from InputSource. The InputSource is ignored; it's there only to satisfy the XMLReader interface

  Specified by:
    `parse` in interface `org.xml.sax.XMLReader`
  Throws:
    `org.xml.sax.SAXException`

### parse

    public void parse(java.lang.String source)
               throws org.xml.sax.SAXException

  Parse from SystemId. The SystemId is ignored; it's there only to satisfy the XMLReader interface

  Specified by:
    `parse` in interface `org.xml.sax.XMLReader`
  Throws:
    `org.xml.sax.SAXException`

### parse

    public void parse()
               throws org.xml.sax.SAXException

  Walk a document (traversing the nodes depth first)

  Throws:
    `org.xml.sax.SAXException` - On any error in the document

### setSystemId

    public void setSystemId(java.lang.String systemId)

### getPublicId

    public java.lang.String getPublicId()

  Specified by:
    `getPublicId` in interface `org.xml.sax.Locator`

### getSystemId

    public java.lang.String getSystemId()

  Specified by:
    `getSystemId` in interface `org.xml.sax.Locator`

### getLineNumber

    public int getLineNumber()

  Specified by:
    `getLineNumber` in interface `org.xml.sax.Locator`

### getColumnNumber

    public int getColumnNumber()

  Specified by:
    `getColumnNumber` in interface `org.xml.sax.Locator`

### getFeature

    public boolean getFeature(java.lang.String featureId)
                       throws org.xml.sax.SAXNotRecognizedException

  SAX2: Tells the value of the specified feature flag.

  Specified by:
    `getFeature` in interface `org.xml.sax.XMLReader`
  Throws:
    `org.xml.sax.SAXNotRecognizedException` - thrown if the feature flag is neither built in, nor yet assigned.

### getProperty

    public java.lang.Object getProperty(java.lang.String name)
                                 throws org.xml.sax.SAXNotRecognizedException

  SAX2: Returns the specified property.

  Specified by:
    `getProperty` in interface `org.xml.sax.XMLReader`
  Throws:
    `org.xml.sax.SAXNotRecognizedException` - thrown if the property value is neither built in, nor yet stored.

### setFeature

    public void setFeature(java.lang.String featureId,
                           boolean on)
                    throws org.xml.sax.SAXNotRecognizedException,
                           org.xml.sax.SAXNotSupportedException

  SAX2: Sets the state of feature flags in this parser. Some built-in feature flags are mutable; all flags not built-in are motable.

  Specified by:
    `setFeature` in interface `org.xml.sax.XMLReader`
  Throws:
    `org.xml.sax.SAXNotRecognizedException`
    `org.xml.sax.SAXNotSupportedException`

### setProperty

    public void setProperty(java.lang.String propertyId,
                            java.lang.Object property)
                     throws org.xml.sax.SAXNotRecognizedException,
                            org.xml.sax.SAXNotSupportedException

  SAX2: Assigns the specified property. Like SAX1 handlers, these may be changed at any time.

  Specified by:
    `setProperty` in interface `org.xml.sax.XMLReader`
  Throws:
    `org.xml.sax.SAXNotRecognizedException`
    `org.xml.sax.SAXNotSupportedException`