Class SAXAdapter

java.lang.Object
net.n3.nanoxml.sax.SAXAdapter
All Implemented Interfaces:
IXMLBuilder

public class SAXAdapter extends Object implements IXMLBuilder
SAXAdapter is the core adapter for using NanoXML/Java with SAX, the "Simple" API For XML.
Author:
Marc De Scheemaecker
See Also:
  • Constructor Details

    • SAXAdapter

      public SAXAdapter()
      Creates the adapter.
  • Method Details

    • finalize

      protected void finalize() throws Throwable
      Cleans up the object when it's destroyed.
      Overrides:
      finalize in class Object
      Throws:
      Throwable
    • 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) throws Exception
      This method is called before the parser starts processing its input.
      Specified by:
      startBuilding in interface IXMLBuilder
      Parameters:
      systemID - the system ID of the data source
      lineNr - the line on which the parsing starts
      Throws:
      Exception - If an exception occurred while processing the event.
    • newProcessingInstruction

      public void newProcessingInstruction(String target, Reader reader) throws Exception
      This method is called when a processing instruction is encountered. PIs with target "xml" are handled by the parser.
      Specified by:
      newProcessingInstruction in interface IXMLBuilder
      Parameters:
      target - the PI target
      reader - to read the data from the PI
      Throws:
      Exception - If an exception occurred while processing the event.
    • startElement

      public void startElement(String name, String nsPrefix, String nsSystemId, String systemID, int lineNr) throws Exception
      This method is called when a new XML element is encountered.
      Specified by:
      startElement in interface IXMLBuilder
      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
      Throws:
      Exception - If an exception occurred while processing the event.
      See Also:
    • elementAttributesProcessed

      public void elementAttributesProcessed(String name, String nsPrefix, String nsSystemId) throws Exception
      This method is called when the attributes of an XML element have been processed.
      Specified by:
      elementAttributesProcessed in interface IXMLBuilder
      Parameters:
      name - the name of the element
      nsPrefix - the prefix used to identify the namespace
      nsSystemId - the system ID associated with the namespace
      Throws:
      Exception - If an exception occurred while processing the event.
      See Also:
    • endElement

      public void endElement(String name, String nsPrefix, String nsSystemId) throws Exception
      This method is called when the end of an XML elemnt is encountered.
      Specified by:
      endElement in interface IXMLBuilder
      Parameters:
      name - the name of the element
      nsPrefix - the prefix used to identify the namespace
      nsSystemId - the system ID associated with the namespace
      Throws:
      Exception - If an exception occurred while processing the event.
      See Also:
    • addAttribute

      public void addAttribute(String key, String nsPrefix, String nsSystemId, String value, String type) throws Exception
      This method is called when a new attribute of an XML element is encountered.
      Specified by:
      addAttribute in interface IXMLBuilder
      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)
      Throws:
      Exception - If an exception occurred while processing the event.
    • addPCData

      public 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.
      Specified by:
      addPCData in interface IXMLBuilder
      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:
      IOException - when the reader throws such exception
      Exception - If an exception occurred while processing the event.
    • getResult

      public Object getResult() throws Exception
      Returns the result of the building process. This method is called just before the parse() method of IXMLParser returns.
      Specified by:
      getResult in interface IXMLBuilder
      Returns:
      the result of the building process.
      Throws:
      Exception - If an exception occurred while processing the event.
      See Also:
    • endDocument

      public void endDocument() throws Exception
      Indicates that parsing has been completed.
      Throws:
      Exception