Package net.n3.nanoxml
Class StdXMLParser
- java.lang.Object
-
- net.n3.nanoxml.StdXMLParser
-
- All 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
Constructors Constructor Description StdXMLParser()Creates a new parser.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidfinalize()Cleans up the object when it's destroyed.IXMLBuildergetBuilder()Returns the builder which creates the logical structure of the XML data.IXMLReadergetReader()Returns the reader from which the parser retrieves its data.IXMLEntityResolvergetResolver()Returns the entity resolver.IXMLValidatorgetValidator()Returns the validator that validates the XML data.Objectparse()Parses the data and lets the builder create the logical data structure.protected voidprocessAttribute(Vector attrNames, Vector attrValues, Vector attrTypes)Processes an attribute of an element.protected voidprocessCDATA()Processes a CDATA section.protected voidprocessDocType()Processes a document type declaration.protected voidprocessElement(String defaultNamespace, Properties namespaces)Processes a regular element.protected voidprocessPI()Processes a "processing instruction".protected voidprocessSpecialTag(boolean allowCDATA)Processes a tag that starts with a bang (<!...>).protected voidscanData()Scans the XML data for elements.protected voidscanSomeTag(boolean allowCDATA, String defaultNamespace, Properties namespaces)Scans an XML tag.voidsetBuilder(IXMLBuilder builder)Sets the builder which creates the logical structure of the XML data.voidsetReader(IXMLReader reader)Sets the reader from which the parser retrieves its data.voidsetResolver(IXMLEntityResolver resolver)Sets the entity resolver.voidsetValidator(IXMLValidator validator)Sets the validator that validates the XML data.
-
-
-
Method Detail
-
finalize
protected void finalize() throws ThrowableCleans up the object when it's destroyed.
-
setBuilder
public void setBuilder(IXMLBuilder builder)
Sets the builder which creates the logical structure of the XML data.- Specified by:
setBuilderin interfaceIXMLParser- Parameters:
builder- the non-null builder
-
getBuilder
public IXMLBuilder getBuilder()
Returns the builder which creates the logical structure of the XML data.- Specified by:
getBuilderin interfaceIXMLParser- Returns:
- the builder
-
setValidator
public void setValidator(IXMLValidator validator)
Sets the validator that validates the XML data.- Specified by:
setValidatorin interfaceIXMLParser- Parameters:
validator- the non-null validator
-
getValidator
public IXMLValidator getValidator()
Returns the validator that validates the XML data.- Specified by:
getValidatorin interfaceIXMLParser- Returns:
- the validator
-
setResolver
public void setResolver(IXMLEntityResolver resolver)
Sets the entity resolver.- Specified by:
setResolverin interfaceIXMLParser- Parameters:
resolver- the non-null resolver
-
getResolver
public IXMLEntityResolver getResolver()
Returns the entity resolver.- Specified by:
getResolverin interfaceIXMLParser- Returns:
- the non-null resolver
-
setReader
public void setReader(IXMLReader reader)
Sets the reader from which the parser retrieves its data.- Specified by:
setReaderin interfaceIXMLParser- Parameters:
reader- the reader
-
getReader
public IXMLReader getReader()
Returns the reader from which the parser retrieves its data.- Specified by:
getReaderin interfaceIXMLParser- Returns:
- the reader
-
parse
public Object parse() throws XMLException
Parses the data and lets the builder create the logical data structure.- Specified by:
parsein interfaceIXMLParser- Returns:
- the logical structure built by the builder
- Throws:
XMLException- if an error occurred reading or parsing the data- See Also:
IXMLBuilder.getResult()
-
scanData
protected void scanData() throws ExceptionScans the XML data for elements.- Throws:
Exception- if something went wrong
-
scanSomeTag
protected void scanSomeTag(boolean allowCDATA, String defaultNamespace, Properties namespaces) throws ExceptionScans an XML tag.- Parameters:
allowCDATA- true if CDATA sections are allowed at this pointdefaultNamespace- the default namespace URI (or null)namespaces- list of defined namespaces- Throws:
Exception- if something went wrong
-
processPI
protected void processPI() throws ExceptionProcesses a "processing instruction".- Throws:
Exception- if something went wrong
-
processSpecialTag
protected void processSpecialTag(boolean allowCDATA) throws ExceptionProcesses a tag that starts with a bang (<!...>).- Parameters:
allowCDATA- true if CDATA sections are allowed at this point- Throws:
Exception- if something went wrong
-
processCDATA
protected void processCDATA() throws ExceptionProcesses a CDATA section.- Throws:
Exception- if something went wrong
-
processDocType
protected void processDocType() throws ExceptionProcesses a document type declaration.- Throws:
Exception- if an error occurred reading or parsing the data
-
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- Throws:
Exception- if something went wrong
-
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.- Throws:
Exception- if something went wrong
-
-