org.apache.xerces.impl

Class XMLDocumentFragmentScannerImpl.FragmentContentDispatcher

Enclosing Class:
XMLDocumentFragmentScannerImpl
Implemented Interfaces:
XMLDocumentFragmentScannerImpl.Dispatcher
Known Direct Subclasses:
XMLDocumentScannerImpl.ContentDispatcher

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

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

Method Summary

boolean
dispatch(boolean complete)
Dispatch an XML "event".
protected boolean
elementDepthIsZeroHook()
Element depth iz zero.
protected void
endOfFileHook(EOFException e)
End of file hook.
protected boolean
scanForDoctypeHook()
Scan for DOCTYPE hook.
protected boolean
scanRootElementHook()
Scan for root element hook.

Method Details

dispatch

public boolean dispatch(boolean complete)
            throws 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:
org.apache.xerces.xni.XNIException - Thrown on parse error.

elementDepthIsZeroHook

protected boolean elementDepthIsZeroHook()
            throws 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.

endOfFileHook

protected void endOfFileHook(EOFException e)
            throws 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.

scanForDoctypeHook

protected boolean scanForDoctypeHook()
            throws 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 "<!" has been scanned.
Returns:
True if the "DOCTYPE" was scanned; false if "DOCTYPE" was not scanned.

scanRootElementHook

protected boolean scanRootElementHook()
            throws 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.

Copyright B) 1999-2005 Apache XML Project. All Rights Reserved.