processing.xml
Class StdXMLBuilder

java.lang.Object
  extended by processing.xml.StdXMLBuilder

public class StdXMLBuilder
extends java.lang.Object

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

See Also:
XMLElement

Constructor Summary
StdXMLBuilder()
          Creates the builder.
StdXMLBuilder(XMLElement parent)
           
 
Method Summary
 void addAttribute(java.lang.String key, java.lang.String nsPrefix, java.lang.String nsURI, java.lang.String value, java.lang.String type)
          This method is called when a new attribute of an XML element is encountered.
 void addPCData(java.io.Reader reader, java.lang.String systemID, int lineNr)
          This method is called when a PCDATA element is encountered.
 void elementAttributesProcessed(java.lang.String name, java.lang.String nsPrefix, java.lang.String nsURI)
          This method is called when the attributes of an XML element have been processed.
 void endElement(java.lang.String name, java.lang.String nsPrefix, java.lang.String nsURI)
          This method is called when the end of an XML elemnt is encountered.
 java.lang.Object getResult()
          Returns the result of the building process.
 void newProcessingInstruction(java.lang.String target, java.io.Reader reader)
          This method is called when a processing instruction is encountered.
 void startBuilding(java.lang.String systemID, int lineNr)
          This method is called before the parser starts processing its input.
 void startElement(java.lang.String name, java.lang.String nsPrefix, java.lang.String nsURI, java.lang.String systemID, int lineNr)
          This method is called when a new XML element is encountered.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StdXMLBuilder

public StdXMLBuilder()
Creates the builder.


StdXMLBuilder

public StdXMLBuilder(XMLElement parent)
Method Detail

startBuilding

public void startBuilding(java.lang.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.

newProcessingInstruction

public void newProcessingInstruction(java.lang.String target,
                                     java.io.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.

startElement

public void startElement(java.lang.String name,
                         java.lang.String nsPrefix,
                         java.lang.String nsURI,
                         java.lang.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:
endElement(java.lang.String, java.lang.String, java.lang.String)

elementAttributesProcessed

public void elementAttributesProcessed(java.lang.String name,
                                       java.lang.String nsPrefix,
                                       java.lang.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:
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

public void endElement(java.lang.String name,
                       java.lang.String nsPrefix,
                       java.lang.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:
startElement(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int)

addAttribute

public void addAttribute(java.lang.String key,
                         java.lang.String nsPrefix,
                         java.lang.String nsURI,
                         java.lang.String value,
                         java.lang.String type)
                  throws java.lang.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:
java.lang.Exception - If an exception occurred while processing the event.

addPCData

public void addPCData(java.io.Reader reader,
                      java.lang.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.

getResult

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

Returns:
the result of the building process.