org.apache.xerces.impl

## Class XMLDocumentFragmentScannerImpl.FragmentContentDispatcher

- java.lang.Object
- - org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.FragmentContentDispatcher

- All Implemented Interfaces:
    XMLDocumentFragmentScannerImpl.Dispatcher
  Direct Known Subclasses:
    XMLDocumentScannerImpl.ContentDispatcher
  Enclosing class:
    XMLDocumentFragmentScannerImpl

      protected class XMLDocumentFragmentScannerImpl.FragmentContentDispatcher
      extends java.lang.Object
      implements XMLDocumentFragmentScannerImpl.Dispatcher

  Dispatcher to handle content scanning.
  Author:
    Andy Clark, IBM, Eric Ye, IBM

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `XMLDocumentFragmentScannerImpl.FragmentContentDispatcher()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `dispatch(boolean complete)` Dispatch an XML "event".
    `protected boolean` | `elementDepthIsZeroHook()` Element depth iz zero.
    `protected void` | `endOfFileHook(java.io.EOFException e)` End of file hook.
    `protected boolean` | `scanForDoctypeHook()` Scan for DOCTYPE hook.
    `protected boolean` | `scanRootElementHook()` Scan for root element hook.

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

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

- - ### Constructor Detail

    - #### XMLDocumentFragmentScannerImpl.FragmentContentDispatcher

          protected XMLDocumentFragmentScannerImpl.FragmentContentDispatcher()

  - ### Method Detail

    - #### dispatch

          public boolean dispatch(boolean complete)
                           throws java.io.IOException,
                                  org.apache.xerces.xni.XNIException

      Dispatch an XML "event".
      Specified by:
        `dispatch` in interface `XMLDocumentFragmentScannerImpl.Dispatcher`
      Parameters:
        `complete` - True if this dispatcher is intended to scan and dispatch as much as possible.
      Returns:
        True if there is more to dispatch either from this or a another dispatcher.
      Throws:
        `java.io.IOException` - Thrown on i/o error.
        `org.apache.xerces.xni.XNIException` - Thrown on parse error.

    - #### scanForDoctypeHook

          protected boolean scanForDoctypeHook()
                                        throws java.io.IOException,
                                               org.apache.xerces.xni.XNIException

      Scan for DOCTYPE hook. This method is a hook for subclasses to add code to handle scanning for a the "DOCTYPE" string after the string "
      Returns:
        True if the "DOCTYPE" was scanned; false if "DOCTYPE" was not scanned.
      Throws:
        `java.io.IOException`
        `org.apache.xerces.xni.XNIException`

    - #### elementDepthIsZeroHook

          protected boolean elementDepthIsZeroHook()
                                            throws java.io.IOException,
                                                   org.apache.xerces.xni.XNIException

      Element depth iz zero. This methos is a hook for subclasses to add code to handle when the element depth hits zero. When scanning a document fragment, an element depth of zero is normal. However, when scanning a full XML document, the scanner must handle the trailing miscellanous section of the document after the end of the document's root element.
      Returns:
        True if the caller should stop and return true which allows the scanner to switch to a new scanning dispatcher. A return value of false indicates that the content dispatcher should continue as normal.
      Throws:
        `java.io.IOException`
        `org.apache.xerces.xni.XNIException`

    - #### scanRootElementHook

          protected boolean scanRootElementHook()
                                         throws java.io.IOException,
                                                org.apache.xerces.xni.XNIException

      Scan for root element hook. This method is a hook for subclasses to add code that handles scanning for the root element. When scanning a document fragment, there is no "root" element. However, when scanning a full XML document, the scanner must handle the root element specially.
      Returns:
        True if the caller should stop and return true which allows the scanner to switch to a new scanning dispatcher. A return value of false indicates that the content dispatcher should continue as normal.
      Throws:
        `java.io.IOException`
        `org.apache.xerces.xni.XNIException`

    - #### endOfFileHook

          protected void endOfFileHook(java.io.EOFException e)
                                throws java.io.IOException,
                                       org.apache.xerces.xni.XNIException

      End of file hook. This method is a hook for subclasses to add code that handles the end of file. The end of file in a document fragment is OK if the markup depth is zero. However, when scanning a full XML document, an end of file is always premature.
      Throws:
        `java.io.IOException`
        `org.apache.xerces.xni.XNIException`

Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.