org.apache.xml.dtm.ref

## Interface IncrementalSAXSource

- All Known Implementing Classes:
    IncrementalSAXSource_Filter, IncrementalSAXSource_Xerces

      public interface IncrementalSAXSource

  IncrementalSAXSource is an API that delivers a small number of SAX events each time a request is made from a "controller" coroutine. See IncrementalSAXFilter and IncrementalSAXFilter_Xerces for examples. Note that interaction is via the deliverMoreNodes method, and therefore coroutine support is not exposed here.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `deliverMoreNodes(boolean parsemore)` deliverMoreNodes() is a simple API which tells the thread in which the IncrementalSAXSource is running to deliver more events (true), or stop delivering events and close out its input (false).
    `void` | `setContentHandler(org.xml.sax.ContentHandler handler)` Register a SAX-style content handler for us to output to
    `void` | `setDTDHandler(org.xml.sax.DTDHandler handler)` Register a SAX-style DTD handler for us to output to
    `void` | `setLexicalHandler(org.xml.sax.ext.LexicalHandler handler)` Register a SAX-style lexical handler for us to output to
    `void` | `startParse(org.xml.sax.InputSource source)` Launch an XMLReader's parsing operation, feeding events to this IncrementalSAXSource.

- - ### Method Detail

    - #### setContentHandler

          void setContentHandler(org.xml.sax.ContentHandler handler)

      Register a SAX-style content handler for us to output to

    - #### setLexicalHandler

          void setLexicalHandler(org.xml.sax.ext.LexicalHandler handler)

      Register a SAX-style lexical handler for us to output to

    - #### setDTDHandler

          void setDTDHandler(org.xml.sax.DTDHandler handler)

      Register a SAX-style DTD handler for us to output to

    - #### deliverMoreNodes

          java.lang.Object deliverMoreNodes(boolean parsemore)

      deliverMoreNodes() is a simple API which tells the thread in which the IncrementalSAXSource is running to deliver more events (true), or stop delivering events and close out its input (false). This is intended to be called from one of our partner coroutines, and serves to encapsulate the coroutine communication protocol.
      Parameters:
        `parsemore` - If true, tells the incremental SAX stream to deliver another chunk of events. If false, finishes out the stream.
      Returns:
        Boolean.TRUE if the IncrementalSAXSource believes more data may be available for further parsing. Boolean.FALSE if parsing ran to completion, or was ended by deliverMoreNodes(false).

    - #### startParse

          void startParse(org.xml.sax.InputSource source)
                   throws org.xml.sax.SAXException

      Launch an XMLReader's parsing operation, feeding events to this IncrementalSAXSource. In some implementations, this may launch a thread which runs the previously supplied XMLReader's parse() operation. In others, it may do other forms of initialization.
      Throws:
        `org.xml.sax.SAXException` - is parse thread is already in progress or parsing can not be started.

Copyright © 2023 Apache XML Project. All Rights Reserved.