org.eclipse.rdf4j.common.xml

## Class SimpleSAXParser

- java.lang.Object
- - org.eclipse.rdf4j.common.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 and Description
    `SimpleSAXParser()` Creates a new SimpleSAXParser that will try to create a new `XMLReader` using `info.aduna.xml.XMLReaderFactory` for parsing the XML.
    `SimpleSAXParser(XMLReader xmlReader)` Creates a new SimpleSAXParser that will use the supplied `XMLReader` for parsing the XML.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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(InputSource inputSource)` Parses the content of the supplied `InputSource` 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` | `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 Detail

    - #### 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(org.eclipse.rdf4j.common.xml.SimpleSAXListener)`

    - #### SimpleSAXParser

          public SimpleSAXParser()
                          throws SAXException

      Creates a new SimpleSAXParser that will try to create a new `XMLReader` using `info.aduna.xml.XMLReaderFactory` for parsing the XML. One must set a `SimpleSAXListener` on this object before calling one of the `parse()` methods.
      Throws:
        `SAXException` - If the SimpleSAXParser was unable to create an XMLReader.
      See Also:
        `setListener(org.eclipse.rdf4j.common.xml.SimpleSAXListener)`, `XMLReader`, `XMLReaderFactory`

  - ### Method Detail

    - #### 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`

Copyright © 2015-2022 Eclipse Foundation. All Rights Reserved.