Package net.n3.nanoxml
Interface IXMLBuilder
-
- All Known Implementing Classes:
SAXAdapter
,StdXMLBuilder
public interface IXMLBuilder
NanoXML uses IXMLBuilder to construct the XML data structure it retrieved from its data source. You can supply your own builder or you can use the default builder of NanoXML.If a method of the builder throws an exception, the parsing is aborted and
IXMLParser.parse()
throws anXMLException
which encasulates the original exception.- Version:
- $Name: RELEASE_2_2_1 $, $Revision: 1.3 $
- Author:
- Marc De Scheemaecker
- See Also:
IXMLParser
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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.void
addPCData(Reader reader, String systemID, int lineNr)
This method is called when a PCDATA element is encountered.void
elementAttributesProcessed(String name, String nsPrefix, String nsURI)
This method is called when the attributes of an XML element have been processed.void
endElement(String name, String nsPrefix, String nsURI)
This method is called when the end of an XML elemnt is encountered.Object
getResult()
Returns the result of the building process.void
newProcessingInstruction(String target, Reader reader)
This method is called when a processing instruction is encountered.void
startBuilding(String systemID, int lineNr)
This method is called before the parser starts processing its input.void
startElement(String name, String nsPrefix, String nsURI, String systemID, int lineNr)
This method is called when a new XML element is encountered.
-
-
-
Method Detail
-
startBuilding
void startBuilding(String systemID, int lineNr) throws Exception
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.- Throws:
Exception
- If an exception occurred while processing the event.
-
newProcessingInstruction
void newProcessingInstruction(String target, Reader reader) throws Exception
This method is called when a processing instruction is encountered. A PI with a reserved target ("xml" with any case) is never reported.- Parameters:
target
- the processing instruction target.reader
- the method can retrieve the parameter of the PI from this reader. You may close the reader before reading all its data and you cannot read too much data.- Throws:
Exception
- If an exception occurred while processing the event.
-
startElement
void startElement(String name, String nsPrefix, String nsURI, String systemID, int lineNr) throws Exception
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.- Throws:
Exception
- If an exception occurred while processing the event.- See Also:
endElement(java.lang.String, java.lang.String, java.lang.String)
-
addAttribute
void addAttribute(String key, String nsPrefix, String nsURI, String value, String type) throws Exception
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:
Exception
- If an exception occurred while processing the event.
-
elementAttributesProcessed
void elementAttributesProcessed(String name, String nsPrefix, String nsURI) throws Exception
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.- Throws:
Exception
- If an exception occurred while processing the event.- See Also:
startElement(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int)
,addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-
endElement
void endElement(String name, String nsPrefix, String nsURI) throws Exception
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.- Throws:
Exception
- If an exception occurred while processing the event.- See Also:
startElement(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int)
-
addPCData
void addPCData(Reader reader, String systemID, int lineNr) throws Exception
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 method can retrieve the data from this reader. You may close the reader before reading all its data and you cannot read too much data.systemID
- the system ID of the XML data source.lineNr
- the line in the source where the element starts.- Throws:
Exception
- If an exception occurred while processing the event.
-
getResult
Object getResult() throws Exception
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.
- Throws:
Exception
- If an exception occurred while processing the event.- See Also:
IXMLParser.parse()
-
-