Package com.icl.saxon

Class DOMDriver

java.lang.Object
com.icl.saxon.DOMDriver
All Implemented Interfaces:
Locator, XMLReader
Direct Known Subclasses:
TreeDriver

public class DOMDriver extends Object implements Locator, 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.
Version:
20 Jan 1999 modified to use AttributeListWrapper class, 3 February 2000 modified to use AttributeCollection class, 24 February 2000 modified to drive SAX2, which means it has to do namespace handling
Author:
MHK, 5 Jun 1998
  • Field Details

  • Constructor Details

    • DOMDriver

      public DOMDriver()
  • Method Details

    • setContentHandler

      public void setContentHandler(ContentHandler handler)
      Set the content handler.
      Specified by:
      setContentHandler in interface XMLReader
      Parameters:
      handler - The object to receive content events. If this also implements LexicalHandler, it will also be notified of comments.
    • getContentHandler

      public ContentHandler getContentHandler()
      Specified by:
      getContentHandler in interface XMLReader
    • setLocale

      public void setLocale(Locale locale) throws 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:
      SAXException
    • getEntityResolver

      public EntityResolver getEntityResolver()
      SAX2: Returns the object used when resolving external entities during parsing (both general and parameter entities).
      Specified by:
      getEntityResolver in interface XMLReader
    • setEntityResolver

      public void setEntityResolver(EntityResolver resolver)
      SAX1, SAX2: Set the entity resolver for this parser.
      Specified by:
      setEntityResolver in interface XMLReader
      Parameters:
      resolver - The object to receive entity events.
    • getDTDHandler

      public DTDHandler getDTDHandler()
      SAX2: Returns the object used to process declarations related to notations and unparsed entities.
      Specified by:
      getDTDHandler in interface XMLReader
    • setDTDHandler

      public void setDTDHandler(DTDHandler handler)
      SAX1, SAX2: Set the DTD handler for this parser.
      Specified by:
      setDTDHandler in interface XMLReader
      Parameters:
      handler - The object to receive DTD events.
    • setDocumentHandler

      public void setDocumentHandler(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(ErrorHandler handler)
      SAX1, SAX2: Set the error handler for this parser.
      Specified by:
      setErrorHandler in interface XMLReader
      Parameters:
      handler - The object to receive error events.
    • getErrorHandler

      public 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 XMLReader
    • setStartNode

      public void setStartNode(Node start)
      Set the DOM Document that will be walked
    • parse

      public void parse(InputSource source) throws SAXException
      Parse from InputSource. The InputSource is ignored; it's there only to satisfy the XMLReader interface
      Specified by:
      parse in interface XMLReader
      Throws:
      SAXException
    • parse

      public void parse(String source) throws SAXException
      Parse from SystemId. The SystemId is ignored; it's there only to satisfy the XMLReader interface
      Specified by:
      parse in interface XMLReader
      Throws:
      SAXException
    • parse

      public void parse() throws SAXException
      Walk a document (traversing the nodes depth first)
      Throws:
      SAXException - On any error in the document
    • setSystemId

      public void setSystemId(String systemId)
    • getPublicId

      public String getPublicId()
      Specified by:
      getPublicId in interface Locator
    • getSystemId

      public String getSystemId()
      Specified by:
      getSystemId in interface Locator
    • getLineNumber

      public int getLineNumber()
      Specified by:
      getLineNumber in interface Locator
    • getColumnNumber

      public int getColumnNumber()
      Specified by:
      getColumnNumber in interface Locator
    • getFeature

      public boolean getFeature(String featureId) throws SAXNotRecognizedException
      SAX2: Tells the value of the specified feature flag.
      Specified by:
      getFeature in interface XMLReader
      Throws:
      SAXNotRecognizedException - thrown if the feature flag is neither built in, nor yet assigned.
    • getProperty

      public Object getProperty(String name) throws SAXNotRecognizedException
      SAX2: Returns the specified property.
      Specified by:
      getProperty in interface XMLReader
      Throws:
      SAXNotRecognizedException - thrown if the property value is neither built in, nor yet stored.
    • setFeature

      public void setFeature(String featureId, boolean on) throws SAXNotRecognizedException, 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 XMLReader
      Throws:
      SAXNotRecognizedException
      SAXNotSupportedException
    • setProperty

      public void setProperty(String propertyId, Object property) throws SAXNotRecognizedException, SAXNotSupportedException
      SAX2: Assigns the specified property. Like SAX1 handlers, these may be changed at any time.
      Specified by:
      setProperty in interface XMLReader
      Throws:
      SAXNotRecognizedException
      SAXNotSupportedException