com.icl.saxon
Class DOMDriver

java.lang.Object
  extended bycom.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