net.n3.nanoxml.sax

Class SAXAdapter

public class SAXAdapter extends Object implements IXMLBuilder

SAXAdapter is the core adapter for using NanoXML/Java with SAX, the "Simple" API For XML.

Version: $Name: RELEASE_2_2_1 $, $Revision: 1.4 $

Author: Marc De Scheemaecker

See Also:

Constructor Summary
SAXAdapter()
Creates the adapter.
Method Summary
voidaddAttribute(String key, String nsPrefix, String nsSystemId, 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 nsSystemId)
This method is called when the attributes of an XML element have been processed.
voidendDocument()
Indicates that parsing has been completed.
voidendElement(String name, String nsPrefix, String nsSystemId)
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.
voidsetDocumentHandler(DocumentHandler handler)
Sets the document handler.
voidsetReader(IXMLReader reader)
Sets the reader.
voidstartBuilding(String systemID, int lineNr)
This method is called before the parser starts processing its input.
voidstartElement(String name, String nsPrefix, String nsSystemId, String systemID, int lineNr)
This method is called when a new XML element is encountered.

Constructor Detail

SAXAdapter

public SAXAdapter()
Creates the adapter.

Method Detail

addAttribute

public void addAttribute(String key, String nsPrefix, String nsSystemId, 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 nsSystemId the system ID associated with the namespace value the value of the attribute type the type of the attribute ("CDATA" if unknown)

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 data source lineNr the line in the source where the element starts

Throws: java.io.IOException when the reader throws such exception

elementAttributesProcessed

public void elementAttributesProcessed(String name, String nsPrefix, String nsSystemId)
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 nsSystemId the system ID associated with the namespace

See Also: SAXAdapter SAXAdapter

endDocument

public void endDocument()
Indicates that parsing has been completed.

endElement

public void endElement(String name, String nsPrefix, String nsSystemId)
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 nsSystemId the system ID associated with the namespace

See Also: SAXAdapter

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

setDocumentHandler

public void setDocumentHandler(DocumentHandler handler)
Sets the document handler.

Parameters: handler the document handler

setReader

public void setReader(IXMLReader reader)
Sets the reader.

Parameters: reader the reader.

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 data source lineNr the line on which the parsing starts

startElement

public void startElement(String name, String nsPrefix, String nsSystemId, 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 nsSystemId the system ID associated with the namespace systemID the system ID of the data source lineNr the line in the source where the element starts

See Also: SAXAdapter