com.microstar.xml
Class SAXDriver

java.lang.Object
  extended by com.microstar.xml.SAXDriver
All Implemented Interfaces:
XmlHandler, org.xml.sax.AttributeList, org.xml.sax.Locator, org.xml.sax.Parser

public class SAXDriver
extends java.lang.Object
implements XmlHandler, org.xml.sax.Locator, org.xml.sax.AttributeList, org.xml.sax.Parser

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 5.1
Version:
1.1
Author:
Copyright (c) 1998 by Microstar Software Ltd., written by David Megginson <dmeggins@microstar.com>
See Also:
XmlParser

Constructor Summary
SAXDriver()
           
 
Method Summary
 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()
           
 int getLength()
           
 int getLineNumber()
           
 java.lang.String getName(int i)
           
 java.lang.String getPublicId()
           
 java.lang.String getSystemId()
           
 java.lang.String getType(int i)
           
 java.lang.String getType(java.lang.String name)
           
 java.lang.String getValue(int i)
           
 java.lang.String getValue(java.lang.String name)
           
 void ignorableWhitespace(char[] ch, int start, int length)
          Implement com.microstar.xml.XmlHandler#ignorableWhitespace.
 void parse(org.xml.sax.InputSource source)
          Parse a document.
 void parse(java.lang.String systemId)
          Parse an XML document from a system identifier (URI).
 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 setDocumentHandler(org.xml.sax.DocumentHandler 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 setLocale(java.util.Locale locale)
          Set the locale.
 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.

Specified by:
setLocale in interface org.xml.sax.Parser
Throws:
org.xml.sax.SAXException

setEntityResolver

public void setEntityResolver(org.xml.sax.EntityResolver resolver)
Set the entity resolver for this parser.

Specified by:
setEntityResolver in interface org.xml.sax.Parser
Parameters:
resolver - The object to receive 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.Parser
Parameters:
handler - The object to receive DTD events.

setDocumentHandler

public void setDocumentHandler(org.xml.sax.DocumentHandler handler)
Set the document handler for this parser.

Specified by:
setDocumentHandler in interface org.xml.sax.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.Parser
Parameters:
handler - The object to receive error events.

parse

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

If you want anything useful to happen, you should set at least one type of handler.

Specified by:
parse in interface org.xml.sax.Parser
Parameters:
source - The XML input source.
Throws:
org.xml.sax.SAXException - The handlers may throw any exception.
See Also:
setEntityResolver(org.xml.sax.EntityResolver), setDTDHandler(org.xml.sax.DTDHandler), setDocumentHandler(org.xml.sax.DocumentHandler), setErrorHandler(org.xml.sax.ErrorHandler)

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.Parser
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.AttributeList

getName

public java.lang.String getName(int i)
Specified by:
getName in interface org.xml.sax.AttributeList

getType

public java.lang.String getType(int i)
Specified by:
getType in interface org.xml.sax.AttributeList

getValue

public java.lang.String getValue(int i)
Specified by:
getValue in interface org.xml.sax.AttributeList

getType

public java.lang.String getType(java.lang.String name)
Specified by:
getType in interface org.xml.sax.AttributeList

getValue

public java.lang.String getValue(java.lang.String name)
Specified by:
getValue in interface org.xml.sax.AttributeList

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