net.n3.nanoxml

Class StdXMLBuilder

public class StdXMLBuilder extends Object implements IXMLBuilder

StdXMLBuilder is a concrete implementation of IXMLBuilder which creates a tree of IXMLElement from an XML data source.

Version: $Name: RELEASE_2_2_1 $, $Revision: 1.3 $

Author: Marc De Scheemaecker

See Also:

Constructor Summary
StdXMLBuilder()
Creates the builder.
StdXMLBuilder(IXMLElement prototype)
Creates the builder.
Method Summary
voidaddAttribute(String key, String nsPrefix, String nsURI, String value, String type)
This method is called when a new attribute of an XML element is encountered.
voidaddPCData(Reader reader, String systemID, int lineNr)
This method is called when a PCDATA element is encountered.
voidelementAttributesProcessed(String name, String nsPrefix, String nsURI)
This method is called when the attributes of an XML element have been processed.
voidendElement(String name, String nsPrefix, String nsURI)
This method is called when the end of an XML elemnt is encountered.
protected voidfinalize()
Cleans up the object when it's destroyed.
ObjectgetResult()
Returns the result of the building process.
voidnewProcessingInstruction(String target, Reader reader)
This method is called when a processing instruction is encountered.
voidstartBuilding(String systemID, int lineNr)
This method is called before the parser starts processing its input.
voidstartElement(String name, String nsPrefix, String nsURI, String systemID, int lineNr)
This method is called when a new XML element is encountered.

Constructor Detail

StdXMLBuilder

public StdXMLBuilder()
Creates the builder.

StdXMLBuilder

public StdXMLBuilder(IXMLElement prototype)
Creates the builder.

Parameters: prototype the prototype to use when building the tree.

Method Detail

addAttribute

public void addAttribute(String key, String nsPrefix, String nsURI, String value, String type)
This method is called when a new attribute of an XML element is encountered.

Parameters: key the key (name) of the attribute. nsPrefix the prefix used to identify the namespace. If no namespace has been specified, this parameter is null. nsURI the URI associated with the namespace. If no namespace has been specified, or no URI is associated with nsPrefix, this parameter is null. value the value of the attribute. type the type of the attribute. If no type is known, "CDATA" is returned.

Throws: java.lang.Exception If an exception occurred while processing the event.

addPCData

public void addPCData(Reader reader, String systemID, int lineNr)
This method is called when a PCDATA element is encountered. A Java reader is supplied from which you can read the data. The reader will only read the data of the element. You don't need to check for boundaries. If you don't read the full element, the rest of the data is skipped. You also don't have to care about entities; they are resolved by the parser.

Parameters: reader the Java reader from which you can retrieve the data. systemID the system ID of the XML data source. lineNr the line in the source where the element starts.

elementAttributesProcessed

public void elementAttributesProcessed(String name, String nsPrefix, String nsURI)
This method is called when the attributes of an XML element have been processed.

Parameters: name the name of the element. nsPrefix the prefix used to identify the namespace. If no namespace has been specified, this parameter is null. nsURI the URI associated with the namespace. If no namespace has been specified, or no URI is associated with nsPrefix, this parameter is null.

See Also: StdXMLBuilder StdXMLBuilder

endElement

public void endElement(String name, String nsPrefix, String nsURI)
This method is called when the end of an XML elemnt is encountered.

Parameters: name the name of the element. nsPrefix the prefix used to identify the namespace. If no namespace has been specified, this parameter is null. nsURI the URI associated with the namespace. If no namespace has been specified, or no URI is associated with nsPrefix, this parameter is null.

See Also: StdXMLBuilder

finalize

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

getResult

public Object getResult()
Returns the result of the building process. This method is called just before the parse method of IXMLParser returns.

Returns: the result of the building process.

See Also: IXMLParser

newProcessingInstruction

public void newProcessingInstruction(String target, Reader reader)
This method is called when a processing instruction is encountered. PIs with target "xml" are handled by the parser.

Parameters: target the PI target. reader to read the data from the PI.

startBuilding

public void startBuilding(String systemID, int lineNr)
This method is called before the parser starts processing its input.

Parameters: systemID the system ID of the XML data source. lineNr the line on which the parsing starts.

startElement

public void startElement(String name, String nsPrefix, String nsURI, String systemID, int lineNr)
This method is called when a new XML element is encountered.

Parameters: name the name of the element. nsPrefix the prefix used to identify the namespace. If no namespace has been specified, this parameter is null. nsURI the URI associated with the namespace. If no namespace has been specified, or no URI is associated with nsPrefix, this parameter is null. systemID the system ID of the XML data source. lineNr the line in the source where the element starts.

See Also: StdXMLBuilder