Package com.stardog.stark.query.io.xml

# Class SimpleSAXParser

java.lang.Object
com.stardog.stark.query.io.xml.SimpleSAXParser

public class SimpleSAXParser extends Object
An XML parser that generates "simple" SAX-like events from a limited subset of XML documents. The SimpleSAXParser can parse simple XML documents; it doesn't support processing instructions or elements that contain both sub-element and character data; character data is only supported in the "leaves" of the XML element tree.

### Example:

Parsing the following XML:

     <?xml version='1.0' encoding='UTF-8'?>
     <xml-doc>
       <foo a="1" b="2&amp;3"/>
       <bar>Hello World!</bar>
     </xml-doc>

will result in the following method calls to the `SimpleSAXListener`:

     startDocument()
     startTag("xml-doc", emptyMap, "")

     startTag("foo", a_b_Map, "")
     endTag("foo")

     startTag("bar", emptyMap, "Hello World!")
     endTag("bar")

     endTag("xml-doc")
     endDocument()

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SimpleSAXParser(XMLReader xmlReader)`
  Creates a new SimpleSAXParser that will use the supplied `XMLReader` for parsing the XML.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `SimpleSAXListener`
  `getListener()`
  Gets the listener that currently will receive any events from this parser.
  `Locator`
  `getLocator()`
  `boolean`
  `isPreserveWhitespace()`
  Checks whether leading and trailing whitespace characters in text elements are preserved.
  `void`
  `parse(File file)`
  Parses the content of the supplied `File` as XML.
  `void`
  `parse(InputStream in)`
  Parses the content of the supplied `InputStream` as XML.
  `void`
  `parse(Reader reader)`
  Parses the content of the supplied `Reader` as XML.
  `void`
  `parse(InputSource inputSource)`
  Parses the content of the supplied `InputSource` as XML.
  `void`
  `setListener(SimpleSAXListener listener)`
  Sets the (new) listener that should receive any events from this parser.
  `void`
  `setPreserveWhitespace(boolean preserveWhitespace)`
  Sets whether leading and trailing whitespace characters in text elements should be preserved.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### SimpleSAXParser

    public SimpleSAXParser(XMLReader xmlReader)
    Creates a new SimpleSAXParser that will use the supplied `XMLReader` for parsing the XML. One must set a `SimpleSAXListener` on this object before calling one of the `parse()` methods.
    Parameters:
      `xmlReader` - The XMLReader to use for parsing.
    See Also:
      - `setListener(com.stardog.stark.query.io.xml.SimpleSAXListener)`

- ## Method Details

  - ### setListener

    public void setListener(SimpleSAXListener listener)
    Sets the (new) listener that should receive any events from this parser. This listener will replace any previously set listener.
    Parameters:
      `listener` - The (new) listener for events from this parser.

  - ### getListener

    public SimpleSAXListener getListener()
    Gets the listener that currently will receive any events from this parser.
    Returns:
      The listener for events from this parser.

  - ### getLocator

    public Locator getLocator()

  - ### setPreserveWhitespace

    public void setPreserveWhitespace(boolean preserveWhitespace)
    Sets whether leading and trailing whitespace characters in text elements should be preserved. Such whitespace characters are discarded by default.

  - ### isPreserveWhitespace

    public boolean isPreserveWhitespace()
    Checks whether leading and trailing whitespace characters in text elements are preserved. Defaults to `false`.

  - ### parse

    public void parse(File file) throws SAXException, IOException
    Parses the content of the supplied `File` as XML.
    Parameters:
      `file` - The file containing the XML to parse.
    Throws:
      `SAXException`
      `IOException`

  - ### parse

    public void parse(InputStream in) throws SAXException, IOException
    Parses the content of the supplied `InputStream` as XML.
    Parameters:
      `in` - An `InputStream` containing XML data.
    Throws:
      `SAXException`
      `IOException`

  - ### parse

    public void parse(Reader reader) throws SAXException, IOException
    Parses the content of the supplied `Reader` as XML.
    Parameters:
      `reader` - A `Reader` containing XML data.
    Throws:
      `SAXException`
      `IOException`

  - ### parse

    public void parse(InputSource inputSource) throws SAXException, IOException
    Parses the content of the supplied `InputSource` as XML.
    Parameters:
      `inputSource` - An `InputSource` containing XML data.
    Throws:
      `SAXException`
      `IOException`