Class SAXDriver

  • All Implemented Interfaces:
    XmlHandler, org.xml.sax.Attributes, org.xml.sax.Locator, org.xml.sax.XMLReader

    public class SAXDriver
    extends java.lang.Object
    implements XmlHandler, org.xml.sax.Locator, org.xml.sax.Attributes, org.xml.sax.XMLReader
    A SAX driver for Microstar's Ælfred XML parser.

    This driver acts as a front-end for Ælfred, and translates Ælfred's events into SAX events. It implements the SAX parser interface, and you can use it without directly calling Ælfred at all:

     org.xml.sax.Parser parser = new com.microstar.xml.SAXDriver();
     

    When you are using SAX, you do not need to use the XmlParser or XmlHandler classes at all: this class is your entry point.

    This driver is based on the 1.0gamma version of SAX, available from http://www.megginson.com/SAX/

    Since:
    Ptolemy II 0.2
    Version:
    1.1
    Author:
    Copyright (c) 1998 by Microstar Software Ltd., written by David Megginson <dmeggins@microstar.com>
    See Also:
    XmlParser
    • Constructor Summary

      Constructors 
      Constructor Description
      SAXDriver()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void attribute​(java.lang.String aname, java.lang.String value, boolean isSpecified)
      Implement com.microstar.xml.XmlHandler#attribute.
      void charData​(char[] ch, int start, int length)
      Implement com.microstar.xml.XmlHandler#charData.
      void doctypeDecl​(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
      Implement com.microstar.xml.XmlHandler#doctypeDecl.
      void endDocument()
      Implement com.microstar.xml.XmlHandler#endDocument.
      void endElement​(java.lang.String elname)
      Implement com.microstar.xml.XmlHandler#endElement.
      void endExternalEntity​(java.lang.String systemId)
      Implement com.microstar.xml.XmlHandler#endExternalEntity.
      void error​(java.lang.String message, java.lang.String url, int line, int column)
      Implement com.microstar.xml.XmlHandler#error.
      int getColumnNumber()  
      org.xml.sax.ContentHandler getContentHandler()  
      org.xml.sax.DTDHandler getDTDHandler()  
      org.xml.sax.EntityResolver getEntityResolver()  
      org.xml.sax.ErrorHandler getErrorHandler()  
      boolean getFeature​(java.lang.String name)  
      int getIndex​(java.lang.String qName)  
      int getIndex​(java.lang.String uri, java.lang.String localPart)  
      int getLength()  
      int getLineNumber()  
      java.lang.String getLocalName​(int index)  
      java.lang.String getName​(int i)  
      java.lang.Object getProperty​(java.lang.String name)  
      java.lang.String getPublicId()  
      java.lang.String getQName​(int index)  
      java.lang.String getSystemId()  
      java.lang.String getType​(int i)  
      java.lang.String getType​(java.lang.String name)  
      java.lang.String getType​(java.lang.String uri, java.lang.String localName)  
      java.lang.String getURI​(int index)  
      java.lang.String getValue​(int i)  
      java.lang.String getValue​(java.lang.String name)  
      java.lang.String getValue​(java.lang.String uri, java.lang.String localName)  
      void ignorableWhitespace​(char[] ch, int start, int length)
      Implement com.microstar.xml.XmlHandler#ignorableWhitespace.
      void parse​(java.lang.String systemId)
      Parse an XML document from a system identifier (URI).
      void parse​(org.xml.sax.InputSource source)
      Parse a document.
      void processingInstruction​(java.lang.String target, java.lang.String data)
      Implement com.microstar.xml.XmlHandler#processingInstruction.
      java.lang.Object resolveEntity​(java.lang.String publicId, java.lang.String systemId)
      Implement com.microstar.xml.XmlHandler.resolveSystemId
      void setContentHandler​(org.xml.sax.ContentHandler handler)  
      void setDocumentHandler​(org.xml.sax.ContentHandler handler)
      Set the document handler for this parser.
      void setDTDHandler​(org.xml.sax.DTDHandler handler)
      Set the DTD handler for this parser.
      void setEntityResolver​(org.xml.sax.EntityResolver resolver)
      Set the entity resolver for this parser.
      void setErrorHandler​(org.xml.sax.ErrorHandler handler)
      Set the error handler for this parser.
      void setFeature​(java.lang.String name, boolean value)  
      void setLocale​(java.util.Locale locale)
      Set the locale.
      void setProperty​(java.lang.String name, java.lang.Object value)  
      void startDocument()
      Implement com.microstar.xml.XmlHandler#startDocument.
      void startElement​(java.lang.String elname)
      Implement com.microstar.xml.XmlHandler#startElement.
      void startExternalEntity​(java.lang.String systemId)
      Implement com.microstar.xml.XmlHandler#startExternalEntity.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SAXDriver

        public SAXDriver()
    • Method Detail

      • setLocale

        public void setLocale​(java.util.Locale locale)
                       throws org.xml.sax.SAXException
        Set the locale.
        Parameters:
        locale - The Locale
        Throws:
        org.xml.sax.SAXException - Always thrown in this base class.
      • setEntityResolver

        public void setEntityResolver​(org.xml.sax.EntityResolver resolver)
        Set the entity resolver for this parser.
        Specified by:
        setEntityResolver in interface org.xml.sax.XMLReader
        Parameters:
        resolver - The object to receive resolve entity events.
      • setDTDHandler

        public void setDTDHandler​(org.xml.sax.DTDHandler handler)
        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.ContentHandler handler)
        Set the document handler for this parser.
        Parameters:
        handler - The object to receive document events.
      • setErrorHandler

        public void setErrorHandler​(org.xml.sax.ErrorHandler handler)
        Set the error handler for this parser.
        Specified by:
        setErrorHandler in interface org.xml.sax.XMLReader
        Parameters:
        handler - The object to receive error events.
      • parse

        public void parse​(java.lang.String systemId)
                   throws org.xml.sax.SAXException
        Parse an XML document from a system identifier (URI).
        Specified by:
        parse in interface org.xml.sax.XMLReader
        Throws:
        org.xml.sax.SAXException
      • startDocument

        public void startDocument()
                           throws org.xml.sax.SAXException
        Implement com.microstar.xml.XmlHandler#startDocument.

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        startDocument in interface XmlHandler
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        See Also:
        XmlHandler.startDocument()
      • endDocument

        public void endDocument()
                         throws org.xml.sax.SAXException
        Implement com.microstar.xml.XmlHandler#endDocument.

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        endDocument in interface XmlHandler
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        See Also:
        XmlHandler.endDocument()
      • resolveEntity

        public java.lang.Object resolveEntity​(java.lang.String publicId,
                                              java.lang.String systemId)
                                       throws org.xml.sax.SAXException,
                                              java.io.IOException
        Implement com.microstar.xml.XmlHandler.resolveSystemId

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        resolveEntity in interface XmlHandler
        Parameters:
        publicId - The public identifier, or null if none was supplied.
        systemId - The system identifier.
        Returns:
        The replacement system identifier, or null to use the default.
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        java.io.IOException
        See Also:
        XmlHandler.resolveEntity(java.lang.String, java.lang.String)
      • startExternalEntity

        public void startExternalEntity​(java.lang.String systemId)
                                 throws org.xml.sax.SAXException
        Implement com.microstar.xml.XmlHandler#startExternalEntity.

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        startExternalEntity in interface XmlHandler
        Parameters:
        systemId - The URI of the external entity that is starting.
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        See Also:
        XmlHandler.startExternalEntity(java.lang.String)
      • endExternalEntity

        public void endExternalEntity​(java.lang.String systemId)
                               throws org.xml.sax.SAXException
        Implement com.microstar.xml.XmlHandler#endExternalEntity.

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        endExternalEntity in interface XmlHandler
        Parameters:
        systemId - The URI of the external entity that is ending.
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        See Also:
        XmlHandler.endExternalEntity(java.lang.String)
      • doctypeDecl

        public void doctypeDecl​(java.lang.String name,
                                java.lang.String publicId,
                                java.lang.String systemId)
                         throws org.xml.sax.SAXException
        Implement com.microstar.xml.XmlHandler#doctypeDecl.

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        doctypeDecl in interface XmlHandler
        Parameters:
        name - The document type name.
        publicId - The public identifier, or null if unspecified.
        systemId - The system identifier, or null if unspecified.
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        See Also:
        XmlHandler.doctypeDecl(java.lang.String, java.lang.String, java.lang.String)
      • attribute

        public void attribute​(java.lang.String aname,
                              java.lang.String value,
                              boolean isSpecified)
                       throws org.xml.sax.SAXException
        Implement com.microstar.xml.XmlHandler#attribute.

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        attribute in interface XmlHandler
        Parameters:
        aname - The name of the attribute.
        value - The value of the attribute, or null if the attribute is #IMPLIED.
        isSpecified - True if the value was specified, false if it was defaulted from the DTD.
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        See Also:
        XmlHandler.attribute(java.lang.String, java.lang.String, boolean)
      • startElement

        public void startElement​(java.lang.String elname)
                          throws org.xml.sax.SAXException
        Implement com.microstar.xml.XmlHandler#startElement.

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        startElement in interface XmlHandler
        Parameters:
        elname - The element type name.
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        See Also:
        XmlHandler.startElement(java.lang.String)
      • endElement

        public void endElement​(java.lang.String elname)
                        throws org.xml.sax.SAXException
        Implement com.microstar.xml.XmlHandler#endElement.

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        endElement in interface XmlHandler
        Parameters:
        elname - The element type name.
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        See Also:
        XmlHandler.endElement(java.lang.String)
      • charData

        public void charData​(char[] ch,
                             int start,
                             int length)
                      throws org.xml.sax.SAXException
        Implement com.microstar.xml.XmlHandler#charData.

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        charData in interface XmlHandler
        Parameters:
        ch - The character data.
        start - The starting position in the array.
        length - The number of characters available.
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        See Also:
        XmlHandler.charData(char[], int, int)
      • ignorableWhitespace

        public void ignorableWhitespace​(char[] ch,
                                        int start,
                                        int length)
                                 throws org.xml.sax.SAXException
        Implement com.microstar.xml.XmlHandler#ignorableWhitespace.

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        ignorableWhitespace in interface XmlHandler
        Parameters:
        ch - The literal whitespace characters.
        start - The starting position in the array.
        length - The number of whitespace characters available.
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        See Also:
        XmlHandler.ignorableWhitespace(char[], int, int)
      • processingInstruction

        public void processingInstruction​(java.lang.String target,
                                          java.lang.String data)
                                   throws org.xml.sax.SAXException
        Implement com.microstar.xml.XmlHandler#processingInstruction.

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        processingInstruction in interface XmlHandler
        Parameters:
        target - The target (the name at the start of the PI).
        data - The data, if any (the rest of the PI).
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        See Also:
        XmlHandler.processingInstruction(java.lang.String, java.lang.String)
      • error

        public void error​(java.lang.String message,
                          java.lang.String url,
                          int line,
                          int column)
                   throws org.xml.sax.SAXException
        Implement com.microstar.xml.XmlHandler#error.

        Translate to the SAX interface.

        Users should never invoke this method directly.

        Specified by:
        error in interface XmlHandler
        Parameters:
        message - The error message.
        url - The system identifier of the entity that contains the error.
        line - The approximate line number of the error.
        column - The approximate column number of the error.
        Throws:
        org.xml.sax.SAXException - May throw any exception.
        See Also:
        XmlHandler.error(java.lang.String, java.lang.String, int, int)
      • getLength

        public int getLength()
        Specified by:
        getLength in interface org.xml.sax.Attributes
      • getName

        public java.lang.String getName​(int i)
      • getType

        public java.lang.String getType​(int i)
        Specified by:
        getType in interface org.xml.sax.Attributes
      • getValue

        public java.lang.String getValue​(int i)
        Specified by:
        getValue in interface org.xml.sax.Attributes
      • getType

        public java.lang.String getType​(java.lang.String name)
        Specified by:
        getType in interface org.xml.sax.Attributes
      • getValue

        public java.lang.String getValue​(java.lang.String name)
        Specified by:
        getValue in interface org.xml.sax.Attributes
      • 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 name)
        Specified by:
        getFeature in interface org.xml.sax.XMLReader
      • setFeature

        public void setFeature​(java.lang.String name,
                               boolean value)
        Specified by:
        setFeature in interface org.xml.sax.XMLReader
      • getProperty

        public java.lang.Object getProperty​(java.lang.String name)
        Specified by:
        getProperty in interface org.xml.sax.XMLReader
      • setProperty

        public void setProperty​(java.lang.String name,
                                java.lang.Object value)
        Specified by:
        setProperty in interface org.xml.sax.XMLReader
      • getEntityResolver

        public org.xml.sax.EntityResolver getEntityResolver()
        Specified by:
        getEntityResolver in interface org.xml.sax.XMLReader
      • getDTDHandler

        public org.xml.sax.DTDHandler getDTDHandler()
        Specified by:
        getDTDHandler in interface org.xml.sax.XMLReader
      • setContentHandler

        public void setContentHandler​(org.xml.sax.ContentHandler handler)
        Specified by:
        setContentHandler in interface org.xml.sax.XMLReader
      • getContentHandler

        public org.xml.sax.ContentHandler getContentHandler()
        Specified by:
        getContentHandler in interface org.xml.sax.XMLReader
      • getErrorHandler

        public org.xml.sax.ErrorHandler getErrorHandler()
        Specified by:
        getErrorHandler in interface org.xml.sax.XMLReader
      • getURI

        public java.lang.String getURI​(int index)
        Specified by:
        getURI in interface org.xml.sax.Attributes
      • getLocalName

        public java.lang.String getLocalName​(int index)
        Specified by:
        getLocalName in interface org.xml.sax.Attributes
      • getQName

        public java.lang.String getQName​(int index)
        Specified by:
        getQName in interface org.xml.sax.Attributes
      • getIndex

        public int getIndex​(java.lang.String uri,
                            java.lang.String localPart)
        Specified by:
        getIndex in interface org.xml.sax.Attributes
      • getIndex

        public int getIndex​(java.lang.String qName)
        Specified by:
        getIndex in interface org.xml.sax.Attributes
      • getType

        public java.lang.String getType​(java.lang.String uri,
                                        java.lang.String localName)
        Specified by:
        getType in interface org.xml.sax.Attributes
      • getValue

        public java.lang.String getValue​(java.lang.String uri,
                                         java.lang.String localName)
        Specified by:
        getValue in interface org.xml.sax.Attributes