net.n3.nanoxml

Class StdXMLParser

Implemented Interfaces:
IXMLParser

public class StdXMLParser
extends Object
implements IXMLParser

StdXMLParser is the core parser of NanoXML.
Version:
$Name: RELEASE_2_2_1 $, $Revision: 1.5 $
Author:
Marc De Scheemaecker

Constructor Summary

StdXMLParser()
Creates a new parser.

Method Summary

protected void
finalize()
Cleans up the object when it's destroyed.
IXMLBuilder
getBuilder()
Returns the builder which creates the logical structure of the XML data.
IXMLReader
getReader()
Returns the reader from which the parser retrieves its data.
IXMLEntityResolver
getResolver()
Returns the entity resolver.
IXMLValidator
getValidator()
Returns the validator that validates the XML data.
Object
parse()
Parses the data and lets the builder create the logical data structure.
protected void
processAttribute(Vector attrNames, Vector attrValues, Vector attrTypes)
Processes an attribute of an element.
protected void
processCDATA()
Processes a CDATA section.
protected void
processDocType()
Processes a document type declaration.
protected void
processElement(String defaultNamespace, Properties namespaces)
Processes a regular element.
protected void
processPI()
Processes a "processing instruction".
protected void
processSpecialTag(boolean allowCDATA)
Processes a tag that starts with a bang (<!...>).
protected void
scanData()
Scans the XML data for elements.
protected void
scanSomeTag(boolean allowCDATA, String defaultNamespace, Properties namespaces)
Scans an XML tag.
void
setBuilder(IXMLBuilder builder)
Sets the builder which creates the logical structure of the XML data.
void
setReader(IXMLReader reader)
Sets the reader from which the parser retrieves its data.
void
setResolver(IXMLEntityResolver resolver)
Sets the entity resolver.
void
setValidator(IXMLValidator validator)
Sets the validator that validates the XML data.

Constructor Details

StdXMLParser

public StdXMLParser()
Creates a new parser.

Method Details

finalize

protected void finalize()
            throws Throwable
Cleans up the object when it's destroyed.

getBuilder

public IXMLBuilder getBuilder()
Returns the builder which creates the logical structure of the XML data.
Specified by:
getBuilder in interface IXMLParser
Returns:
the builder

getReader

public IXMLReader getReader()
Returns the reader from which the parser retrieves its data.
Specified by:
getReader in interface IXMLParser
Returns:
the reader

getResolver

public IXMLEntityResolver getResolver()
Returns the entity resolver.
Specified by:
getResolver in interface IXMLParser
Returns:
the non-null resolver

getValidator

public IXMLValidator getValidator()
Returns the validator that validates the XML data.
Specified by:
getValidator in interface IXMLParser
Returns:
the validator

parse

public Object parse()
            throws XMLException
Parses the data and lets the builder create the logical data structure.
Specified by:
parse in interface IXMLParser
Returns:
the logical structure built by the builder
Throws:
XMLException - if an error occurred reading or parsing the data

processAttribute

protected void processAttribute(Vector attrNames,
                                Vector attrValues,
                                Vector attrTypes)
            throws Exception
Processes an attribute of an element.
Parameters:
attrNames - contains the names of the attributes.
attrValues - contains the values of the attributes.
attrTypes - contains the types of the attributes.

processCDATA

protected void processCDATA()
            throws Exception
Processes a CDATA section.

processDocType

protected void processDocType()
            throws Exception
Processes a document type declaration.

processElement

protected void processElement(String defaultNamespace,
                              Properties namespaces)
            throws Exception
Processes a regular element.
Parameters:
defaultNamespace - the default namespace URI (or null)
namespaces - list of defined namespaces

processPI

protected void processPI()
            throws Exception
Processes a "processing instruction".

processSpecialTag

protected void processSpecialTag(boolean allowCDATA)
            throws Exception
Processes a tag that starts with a bang (<!...>).
Parameters:
allowCDATA - true if CDATA sections are allowed at this point

scanData

protected void scanData()
            throws Exception
Scans the XML data for elements.

scanSomeTag

protected void scanSomeTag(boolean allowCDATA,
                           String defaultNamespace,
                           Properties namespaces)
            throws Exception
Scans an XML tag.
Parameters:
allowCDATA - true if CDATA sections are allowed at this point
defaultNamespace - the default namespace URI (or null)
namespaces - list of defined namespaces

setBuilder

public void setBuilder(IXMLBuilder builder)
Sets the builder which creates the logical structure of the XML data.
Specified by:
setBuilder in interface IXMLParser
Parameters:
builder - the non-null builder

setReader

public void setReader(IXMLReader reader)
Sets the reader from which the parser retrieves its data.
Specified by:
setReader in interface IXMLParser
Parameters:
reader - the reader

setResolver

public void setResolver(IXMLEntityResolver resolver)
Sets the entity resolver.
Specified by:
setResolver in interface IXMLParser
Parameters:
resolver - the non-null resolver

setValidator

public void setValidator(IXMLValidator validator)
Sets the validator that validates the XML data.
Specified by:
setValidator in interface IXMLParser
Parameters:
validator - the non-null validator