com.japisoft.fastparser.sax
Class SaxParser

java.lang.Object
  |
  +--com.japisoft.fastparser.Parser
        |
        +--com.japisoft.fastparser.sax.SaxParser
All Implemented Interfaces:
org.xml.sax.Locator, org.xml.sax.Parser

public final class SaxParser
extends Parser
implements org.xml.sax.Parser, org.xml.sax.Locator

Sax Level 1 implementation. *

This version disables by default the buffering step, for improving the parsing process on file < 100 Ko, use the bufferingMode method to true

Version:
1.1
Author:
(c) 2002-2003 JAPISOFT

Field Summary
 
Fields inherited from class com.japisoft.fastparser.Parser
CONTINUE_PARSING_MODE, HIGH_PARSING_MODE, LOW_PARSING_MODE, MEDIUM_PARSING_MODE
 
Constructor Summary
SaxParser()
           
 
Method Summary
 int getColumnNumber()
           
 int getLineNumber()
           
 java.lang.String getPublicId()
           
 java.lang.String getSystemId()
           
static void main(java.lang.String[] args)
           
 void parse(org.xml.sax.InputSource source)
          Parse an XML document.
 void parse(java.lang.String systemId)
          Parse an XML document from a system identifier (URI).
 void setDocumentHandler(org.xml.sax.DocumentHandler handler)
          Allow an application to register a document event handler.
 void setDTDHandler(org.xml.sax.DTDHandler handler)
          Allow an application to register a DTD event handler.
 void setEntityResolver(org.xml.sax.EntityResolver resolver)
          Allow an application to register a custom entity resolver.
 void setErrorHandler(org.xml.sax.ErrorHandler handler)
          Allow an application to register an error event handler.
 void setLocale(java.util.Locale locale)
          Allow an application to request a locale for errors and warnings.
 
Methods inherited from class com.japisoft.fastparser.Parser
bufferingMode, cdataEnabled, getDocument, getDocumentBuilder, getNodeFactory, getParsingMode, hasBufferingMode, interruptParsing, isCdataEnabled, isEnabledNameSpace, isMandatoryProlog, isPreserveWhiteSpace, parse, preserveComment, preserveWhiteSpace, setDocumentBuilder, setEnabledNameSpace, setInputStream, setMandatoryProlog, setNodeFactory, setParsingMode, setText
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SaxParser

public SaxParser()
Method Detail

setLocale

public void setLocale(java.util.Locale locale)
               throws org.xml.sax.SAXException
Allow an application to request a locale for errors and warnings.

SAX parsers are not required to provide localisation for errors and warnings; if they cannot support the requested locale, however, they must throw a SAX exception. Applications may not request a locale change in the middle of a parse.

Specified by:
setLocale in interface org.xml.sax.Parser
Parameters:
locale - A Java Locale object.
Throws:
org.xml.sax.SAXException - Throws an exception (using the previous or default locale) if the requested locale is not supported.
See Also:
SAXException, SAXParseException

setEntityResolver

public void setEntityResolver(org.xml.sax.EntityResolver resolver)
Allow an application to register a custom entity resolver.

If the application does not register an entity resolver, the SAX parser will resolve system identifiers and open connections to entities itself (this is the default behaviour implemented in HandlerBase).

Applications may register a new or different entity resolver in the middle of a parse, and the SAX parser must begin using the new resolver immediately.

Specified by:
setEntityResolver in interface org.xml.sax.Parser
Parameters:
resolver - The object for resolving entities.
See Also:
EntityResolver, HandlerBase

setDTDHandler

public void setDTDHandler(org.xml.sax.DTDHandler handler)
Allow an application to register a DTD event handler.

If the application does not register a DTD handler, all DTD events reported by the SAX parser will be silently ignored (this is the default behaviour implemented by HandlerBase).

Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.

Specified by:
setDTDHandler in interface org.xml.sax.Parser
Parameters:
handler - The DTD handler.
See Also:
DTDHandler, HandlerBase

setDocumentHandler

public void setDocumentHandler(org.xml.sax.DocumentHandler handler)
Allow an application to register a document event handler.

If the application does not register a document handler, all document events reported by the SAX parser will be silently ignored (this is the default behaviour implemented by HandlerBase).

Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.

Specified by:
setDocumentHandler in interface org.xml.sax.Parser
Parameters:
handler - The document handler.
See Also:
DocumentHandler, HandlerBase

setErrorHandler

public void setErrorHandler(org.xml.sax.ErrorHandler handler)
Allow an application to register an error event handler.

If the application does not register an error event handler, all error events reported by the SAX parser will be silently ignored, except for fatalError, which will throw a SAXException (this is the default behaviour implemented by HandlerBase).

Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.

Specified by:
setErrorHandler in interface org.xml.sax.Parser
Parameters:
handler - The error handler.
See Also:
ErrorHandler, SAXException, HandlerBase

parse

public void parse(org.xml.sax.InputSource source)
           throws org.xml.sax.SAXException,
                  java.io.IOException
Parse an XML document.

The application can use this method to instruct the SAX parser to begin parsing an XML document from any valid input source (a character stream, a byte stream, or a URI).

Applications may not invoke this method while a parse is in progress (they should create a new Parser instead for each additional XML document). Once a parse is complete, an application may reuse the same Parser object, possibly with a different input source.

Specified by:
parse in interface org.xml.sax.Parser
Parameters:
source - The input source for the top-level of the XML document.
Throws:
org.xml.sax.SAXException - Any SAX exception, possibly wrapping another exception.
java.io.IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
See Also:
InputSource, parse(java.lang.String), 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 java.io.IOException,
                  org.xml.sax.SAXException
Parse an XML document from a system identifier (URI).

This method is a shortcut for the common case of reading a document from a system identifier. It is the exact equivalent of the following:

 parse(new InputSource(systemId));
 

If the system identifier is a URL, it must be fully resolved by the application before it is passed to the parser.

Specified by:
parse in interface org.xml.sax.Parser
Parameters:
systemId - The system identifier (URI).
Throws:
org.xml.sax.SAXException - Any SAX exception, possibly wrapping another exception.
java.io.IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
See Also:
parse(org.xml.sax.InputSource)

getColumnNumber

public int getColumnNumber()
Specified by:
getColumnNumber in interface org.xml.sax.Locator

getLineNumber

public int getLineNumber()
Specified by:
getLineNumber in interface org.xml.sax.Locator

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

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
java.lang.Exception