Package com.icl.saxon

Class 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.
    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 Summary

      Fields 
      Modifier and Type Field Description
      protected org.xml.sax.ContentHandler contentHandler  
      (package private) static java.lang.String FEATURE  
      (package private) static java.lang.String HANDLER  
      protected org.w3c.dom.Node root  
      protected java.lang.String systemId  
    • Constructor Summary

      Constructors 
      Constructor Description
      DOMDriver()  
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      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​(java.lang.String source)
      Parse from SystemId.
      void parse​(org.xml.sax.InputSource source)
      Parse from InputSource.
      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