com.sun.xml.stream
Class XMLDocumentScannerImpl.ContentDriver

java.lang.Object
  extended by com.sun.xml.stream.XMLDocumentFragmentScannerImpl.FragmentContentDriver
      extended by com.sun.xml.stream.XMLDocumentScannerImpl.ContentDriver
All Implemented Interfaces:
XMLDocumentFragmentScannerImpl.Driver
Direct Known Subclasses:
XMLNSDocumentScannerImpl.NSContentDriver
Enclosing class:
XMLDocumentScannerImpl

protected class XMLDocumentScannerImpl.ContentDriver
extends XMLDocumentFragmentScannerImpl.FragmentContentDriver

Driver to handle content scanning.

Author:
Andy Clark, IBM, Eric Ye, IBM

Constructor Summary
protected XMLDocumentScannerImpl.ContentDriver()
           
 
Method Summary
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 com.sun.xml.stream.XMLDocumentFragmentScannerImpl.FragmentContentDriver
decideSubState, next
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLDocumentScannerImpl.ContentDriver

protected XMLDocumentScannerImpl.ContentDriver()
Method Detail

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 "
Overrides:
scanForDoctypeHook in class XMLDocumentFragmentScannerImpl.FragmentContentDriver
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.

Overrides:
elementDepthIsZeroHook in class XMLDocumentFragmentScannerImpl.FragmentContentDriver
Returns:
True if the caller should stop and return true which allows the scanner to switch to a new scanning driver. A return value of false indicates that the content driver 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.

Overrides:
scanRootElementHook in class XMLDocumentFragmentScannerImpl.FragmentContentDriver
Returns:
True if the caller should stop and return true which allows the scanner to switch to a new scanning driver. A return value of false indicates that the content driver 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.

Overrides:
endOfFileHook in class XMLDocumentFragmentScannerImpl.FragmentContentDriver
Throws:
java.io.IOException
org.apache.xerces.xni.XNIException


Copyright ? 2002-2003 Apache XML Project. All Rights Reserved.