XML for Java EA2

com.ibm.xml.framework
Class XMLDocumentScanner

java.lang.Object
  |
  +--com.ibm.xml.framework.XMLDocumentScanner
Direct Known Subclasses:
XMLParser

public abstract class XMLDocumentScanner
extends java.lang.Object
implements XMLScanner

This class recognizes most of the grammer for an XML processor. Additional support is provided by the XMLEntityHandler, via the XMLEntityReader instances it creates, which are used to process simple constructs like string literals and character data between markup. The XMLDTDScanner class contains the remaining support for the grammer of DTD declarations. When a <!DOCTYPE ...> is found in the document, the scanDoctypeDecl method will then be called and the XMLDocumentScanner subclass is responsible for "connecting" that method to the corresponding method provided by the XMLDTDScanner class.

Version:
Revision: %M% %I% %W% %Q%

Field Summary
protected  int fCurrentElementEntity
           
protected  int fCurrentElementType
           
protected  int fElementDepth
           
protected  com.ibm.xml.readers.XMLEntityHandler fEntityHandler
           
protected  com.ibm.xml.readers.XMLEntityHandler.EntityReader fEntityReader
           
protected  XMLErrorReporter fErrorReporter
           
protected  boolean fInElementContent
           
protected  int fReaderId
           
protected  com.ibm.xml.utils.StringPool fStringPool
           
protected static int SCANNER_STATE_ATTRIBUTE_LIST
           
protected static int SCANNER_STATE_ATTRIBUTE_NAME
           
protected static int SCANNER_STATE_ATTRIBUTE_VALUE
           
protected static int SCANNER_STATE_COMMENT
           
protected static int SCANNER_STATE_CONTENT
           
protected static int SCANNER_STATE_DOCTYPE
           
protected static int SCANNER_STATE_ELEMENT
           
protected static int SCANNER_STATE_MISC_OR_DOCTYPE
           
protected static int SCANNER_STATE_MISC_OR_ROOT_ELEMENT
           
protected static int SCANNER_STATE_PI
           
protected static int SCANNER_STATE_SETUP
           
protected static int SCANNER_STATE_START_OF_MARKUP
           
protected static int SCANNER_STATE_STRING_LITERAL
           
protected static int SCANNER_STATE_TRAILING_MISC
           
protected static int SCANNER_STATE_UNKNOWN
           
protected static int SCANNER_STATE_XML_DECL
           
 
Constructor Summary
protected XMLDocumentScanner()
           
 
Method Summary
protected  void abortMarkup(int majorCode, int minorCode)
           
protected  void abortMarkup(int majorCode, int minorCode, int stringIndex1)
           
protected  void abortMarkup(int majorCode, int minorCode, int stringIndex1, int stringIndex2)
           
protected  void abortMarkup(int majorCode, int minorCode, java.lang.String string1)
           
protected abstract  boolean addAttrForElement(int elementTypeIndex, int attrNameIndex, int attrValueIndex)
           
protected abstract  void callCharacters(int ch)
           
protected abstract  void callComment(int data)
           
protected abstract  void callEndDocument()
           
protected abstract  boolean callEndElement(int elementTypeIndex)
           
protected abstract  void callProcessingInstruction(int piTarget, int piData)
           
protected abstract  void callStartDocument(int versionIndex, int encodingIndex, int standaloneIndex)
           
protected abstract  void callStartElement(int elementTypeIndex)
           
protected  void checkXMLLangAttributeValue(int langValue)
           
protected  int decreaseMarkupDepth()
           
protected abstract  void elementSpecified(int elementTypeIndex)
           
protected abstract  void endCDATA()
           
 void endOfInput(int entityNameIndex, boolean moreToFollow)
           
protected  int getScannerState()
           
protected  int increaseMarkupDepth()
           
protected abstract  void literalDataAppend(char ch)
           
protected abstract  void literalDataAppend(int toCopy, int length)
           
protected abstract  int literalDataIndex(int dataOffset, int dataLength)
           
protected abstract  int literalDataLength()
           
protected  int markupDepth()
           
protected  boolean parseSome(boolean doItAll)
           
 void readerChange(com.ibm.xml.readers.XMLEntityHandler.EntityReader nextReader, int nextReaderId)
           
protected  void reportFatalXMLError(int majorCode, int minorCode)
           
protected  void reportFatalXMLError(int majorCode, int minorCode, int stringIndex1)
           
protected  void reportFatalXMLError(int majorCode, int minorCode, int stringIndex1, int stringIndex2)
           
protected  void reportFatalXMLError(int majorCode, int minorCode, java.lang.String string1)
           
protected  void reportFatalXMLError(int majorCode, int minorCode, java.lang.String string1, java.lang.String string2)
           
protected  void reportFatalXMLError(int majorCode, int minorCode, java.lang.String string1, java.lang.String string2, java.lang.String string3)
           
protected  void reset()
           
protected  void resetOrCopy()
           
protected abstract  int scanAttributeName()
           
protected  int scanAttValue(int elementType, int attrName)
           
protected  int scanComplexAttValue(int elementType, int attrName, char qchar)
           
protected abstract  void scanDoctypeDecl(boolean standalone)
           
protected abstract  int scanElementType(char fastchar)
           
protected abstract  boolean scanExpectedElementType(char fastchar)
           
protected  void setEntityHandler(com.ibm.xml.readers.XMLEntityHandler entityHandler)
           
protected  void setErrorReporter(XMLErrorReporter errorReporter)
           
protected  void skipPastEndOfCurrentMarkup()
           
protected abstract  void startCDATA()
           
protected abstract  boolean validEncName(java.lang.String encoding)
           
protected abstract  boolean validVersionNum(java.lang.String version)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SCANNER_STATE_UNKNOWN

protected static final int SCANNER_STATE_UNKNOWN

SCANNER_STATE_SETUP

protected static final int SCANNER_STATE_SETUP

SCANNER_STATE_XML_DECL

protected static final int SCANNER_STATE_XML_DECL

SCANNER_STATE_MISC_OR_DOCTYPE

protected static final int SCANNER_STATE_MISC_OR_DOCTYPE

SCANNER_STATE_MISC_OR_ROOT_ELEMENT

protected static final int SCANNER_STATE_MISC_OR_ROOT_ELEMENT

SCANNER_STATE_ELEMENT

protected static final int SCANNER_STATE_ELEMENT

SCANNER_STATE_CONTENT

protected static final int SCANNER_STATE_CONTENT

SCANNER_STATE_COMMENT

protected static final int SCANNER_STATE_COMMENT

SCANNER_STATE_PI

protected static final int SCANNER_STATE_PI

SCANNER_STATE_TRAILING_MISC

protected static final int SCANNER_STATE_TRAILING_MISC

SCANNER_STATE_STRING_LITERAL

protected static final int SCANNER_STATE_STRING_LITERAL

SCANNER_STATE_ATTRIBUTE_LIST

protected static final int SCANNER_STATE_ATTRIBUTE_LIST

SCANNER_STATE_ATTRIBUTE_NAME

protected static final int SCANNER_STATE_ATTRIBUTE_NAME

SCANNER_STATE_ATTRIBUTE_VALUE

protected static final int SCANNER_STATE_ATTRIBUTE_VALUE

SCANNER_STATE_DOCTYPE

protected static final int SCANNER_STATE_DOCTYPE

SCANNER_STATE_START_OF_MARKUP

protected static final int SCANNER_STATE_START_OF_MARKUP

fStringPool

protected com.ibm.xml.utils.StringPool fStringPool

fErrorReporter

protected XMLErrorReporter fErrorReporter

fEntityHandler

protected com.ibm.xml.readers.XMLEntityHandler fEntityHandler

fEntityReader

protected com.ibm.xml.readers.XMLEntityHandler.EntityReader fEntityReader

fReaderId

protected int fReaderId

fElementDepth

protected int fElementDepth

fCurrentElementType

protected int fCurrentElementType

fCurrentElementEntity

protected int fCurrentElementEntity

fInElementContent

protected boolean fInElementContent
Constructor Detail

XMLDocumentScanner

protected XMLDocumentScanner()
Method Detail

setErrorReporter

protected void setErrorReporter(XMLErrorReporter errorReporter)

setEntityHandler

protected void setEntityHandler(com.ibm.xml.readers.XMLEntityHandler entityHandler)

reset

protected void reset()
              throws java.lang.Exception

resetOrCopy

protected void resetOrCopy()
                    throws java.lang.Exception

scanElementType

protected abstract int scanElementType(char fastchar)
                                throws java.lang.Exception

scanExpectedElementType

protected abstract boolean scanExpectedElementType(char fastchar)
                                            throws java.lang.Exception

scanAttributeName

protected abstract int scanAttributeName()
                                  throws java.lang.Exception

callStartDocument

protected abstract void callStartDocument(int versionIndex,
                                          int encodingIndex,
                                          int standaloneIndex)
                                   throws java.lang.Exception

callEndDocument

protected abstract void callEndDocument()
                                 throws java.lang.Exception

elementSpecified

protected abstract void elementSpecified(int elementTypeIndex)
                                  throws java.lang.Exception

addAttrForElement

protected abstract boolean addAttrForElement(int elementTypeIndex,
                                             int attrNameIndex,
                                             int attrValueIndex)
                                      throws java.lang.Exception

callStartElement

protected abstract void callStartElement(int elementTypeIndex)
                                  throws java.lang.Exception

callEndElement

protected abstract boolean callEndElement(int elementTypeIndex)
                                   throws java.lang.Exception

literalDataLength

protected abstract int literalDataLength()
                                  throws java.lang.Exception

literalDataAppend

protected abstract void literalDataAppend(int toCopy,
                                          int length)
                                   throws java.lang.Exception

literalDataAppend

protected abstract void literalDataAppend(char ch)
                                   throws java.lang.Exception

literalDataIndex

protected abstract int literalDataIndex(int dataOffset,
                                        int dataLength)
                                 throws java.lang.Exception

validVersionNum

protected abstract boolean validVersionNum(java.lang.String version)
                                    throws java.lang.Exception

validEncName

protected abstract boolean validEncName(java.lang.String encoding)
                                 throws java.lang.Exception

startCDATA

protected abstract void startCDATA()
                            throws java.lang.Exception

endCDATA

protected abstract void endCDATA()
                          throws java.lang.Exception

callCharacters

protected abstract void callCharacters(int ch)
                                throws java.lang.Exception

callProcessingInstruction

protected abstract void callProcessingInstruction(int piTarget,
                                                  int piData)
                                           throws java.lang.Exception

callComment

protected abstract void callComment(int data)
                             throws java.lang.Exception

scanDoctypeDecl

protected abstract void scanDoctypeDecl(boolean standalone)
                                 throws java.lang.Exception

reportFatalXMLError

protected void reportFatalXMLError(int majorCode,
                                   int minorCode)
                            throws java.lang.Exception

reportFatalXMLError

protected void reportFatalXMLError(int majorCode,
                                   int minorCode,
                                   int stringIndex1)
                            throws java.lang.Exception

reportFatalXMLError

protected void reportFatalXMLError(int majorCode,
                                   int minorCode,
                                   java.lang.String string1)
                            throws java.lang.Exception

reportFatalXMLError

protected void reportFatalXMLError(int majorCode,
                                   int minorCode,
                                   int stringIndex1,
                                   int stringIndex2)
                            throws java.lang.Exception

reportFatalXMLError

protected void reportFatalXMLError(int majorCode,
                                   int minorCode,
                                   java.lang.String string1,
                                   java.lang.String string2)
                            throws java.lang.Exception

reportFatalXMLError

protected void reportFatalXMLError(int majorCode,
                                   int minorCode,
                                   java.lang.String string1,
                                   java.lang.String string2,
                                   java.lang.String string3)
                            throws java.lang.Exception

abortMarkup

protected void abortMarkup(int majorCode,
                           int minorCode)
                    throws java.lang.Exception

abortMarkup

protected void abortMarkup(int majorCode,
                           int minorCode,
                           int stringIndex1)
                    throws java.lang.Exception

abortMarkup

protected void abortMarkup(int majorCode,
                           int minorCode,
                           java.lang.String string1)
                    throws java.lang.Exception

abortMarkup

protected void abortMarkup(int majorCode,
                           int minorCode,
                           int stringIndex1,
                           int stringIndex2)
                    throws java.lang.Exception

skipPastEndOfCurrentMarkup

protected void skipPastEndOfCurrentMarkup()
                                   throws java.lang.Exception

getScannerState

protected int getScannerState()

markupDepth

protected final int markupDepth()

increaseMarkupDepth

protected final int increaseMarkupDepth()

decreaseMarkupDepth

protected final int decreaseMarkupDepth()

readerChange

public void readerChange(com.ibm.xml.readers.XMLEntityHandler.EntityReader nextReader,
                         int nextReaderId)
                  throws java.lang.Exception

endOfInput

public void endOfInput(int entityNameIndex,
                       boolean moreToFollow)
                throws java.lang.Exception

parseSome

protected boolean parseSome(boolean doItAll)
                     throws java.lang.Exception

scanAttValue

protected int scanAttValue(int elementType,
                           int attrName)
                    throws java.lang.Exception

scanComplexAttValue

protected int scanComplexAttValue(int elementType,
                                  int attrName,
                                  char qchar)
                           throws java.lang.Exception

checkXMLLangAttributeValue

protected void checkXMLLangAttributeValue(int langValue)
                                   throws java.lang.Exception

XML for Java EA2