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