Class XMLDocumentScannerImpl.ContentDispatcher
- java.lang.Object
-
- org.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.FragmentContentDispatcher
-
- org.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.XMLDocumentScannerImpl.ContentDispatcher
-
- All Implemented Interfaces:
XMLDocumentFragmentScannerImpl.Dispatcher
- Direct Known Subclasses:
XML11NSDocumentScannerImpl.NS11ContentDispatcher
,XMLNSDocumentScannerImpl.NSContentDispatcher
- Enclosing class:
- XMLDocumentScannerImpl
protected class XMLDocumentScannerImpl.ContentDispatcher extends XMLDocumentFragmentScannerImpl.FragmentContentDispatcher
Dispatcher to handle content scanning.- Author:
- Andy Clark, IBM, Eric Ye, IBM
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ContentDispatcher()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
elementDepthIsZeroHook()
Element depth iz zero.protected void
endOfFileHook(EOFException e)
End of file hook.protected void
resolveExternalSubsetAndRead()
Attempt to locate an external subset for a document that does not otherwise have one.protected boolean
scanForDoctypeHook()
Scan for DOCTYPE hook.protected boolean
scanRootElementHook()
Scan for root element hook.-
Methods inherited from class org.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.FragmentContentDispatcher
dispatch
-
-
-
-
Method Detail
-
scanForDoctypeHook
protected boolean scanForDoctypeHook() throws IOException, 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 "- Overrides:
scanForDoctypeHook
in classXMLDocumentFragmentScannerImpl.FragmentContentDispatcher
- Returns:
- True if the "DOCTYPE" was scanned; false if "DOCTYPE" was not scanned.
- Throws:
IOException
XNIException
-
elementDepthIsZeroHook
protected boolean elementDepthIsZeroHook() throws IOException, 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.- Overrides:
elementDepthIsZeroHook
in classXMLDocumentFragmentScannerImpl.FragmentContentDispatcher
- 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:
IOException
XNIException
-
scanRootElementHook
protected boolean scanRootElementHook() throws IOException, 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.- Overrides:
scanRootElementHook
in classXMLDocumentFragmentScannerImpl.FragmentContentDispatcher
- 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:
IOException
XNIException
-
endOfFileHook
protected void endOfFileHook(EOFException e) throws IOException, 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.- Overrides:
endOfFileHook
in classXMLDocumentFragmentScannerImpl.FragmentContentDispatcher
- Throws:
IOException
XNIException
-
resolveExternalSubsetAndRead
protected void resolveExternalSubsetAndRead() throws IOException, XNIException
Attempt to locate an external subset for a document that does not otherwise have one. If an external subset is located, then it is scanned.
- Throws:
IOException
XNIException
-
-