org.apache.xerces.impl
Class XML11DocumentScannerImpl

java.lang.Object
  extended by org.apache.xerces.impl.XMLScanner
      extended by org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
          extended by org.apache.xerces.impl.XMLDocumentScannerImpl
              extended by org.apache.xerces.impl.XML11DocumentScannerImpl
All Implemented Interfaces:
XMLEntityHandler, org.apache.xerces.xni.parser.XMLComponent, org.apache.xerces.xni.parser.XMLDocumentScanner, org.apache.xerces.xni.parser.XMLDocumentSource
Direct Known Subclasses:
XML11NSDocumentScannerImpl

public class XML11DocumentScannerImpl
extends XMLDocumentScannerImpl

This class is responsible for scanning XML document structure and content. The scanner acts as the source for the document information which is communicated to the document handler.

This component requires the following features and properties from the component manager that uses it:

Version:
$Id: XML11DocumentScannerImpl.java 572055 2007-09-02 17:55:43Z mrglavas $
Author:
Glenn Marcy, IBM, Andy Clark, IBM, Arnaud Le Hors, IBM, Eric Ye, IBM

INTERNAL:

Usage of this class is not supported. It may be altered or removed at any time.

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.xerces.impl.XMLDocumentScannerImpl
XMLDocumentScannerImpl.ContentDispatcher, XMLDocumentScannerImpl.DTDDispatcher, XMLDocumentScannerImpl.PrologDispatcher, XMLDocumentScannerImpl.TrailingMiscDispatcher, XMLDocumentScannerImpl.XMLDeclDispatcher
 
Nested classes/interfaces inherited from class org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
XMLDocumentFragmentScannerImpl.Dispatcher, XMLDocumentFragmentScannerImpl.ElementStack, XMLDocumentFragmentScannerImpl.FragmentContentDispatcher
 
Field Summary
 
Fields inherited from class org.apache.xerces.impl.XMLDocumentScannerImpl
DISALLOW_DOCTYPE_DECL_FEATURE, DTD_SCANNER, fDisallowDoctype, fDoctypeName, fDoctypePublicId, fDoctypeSystemId, fDTDDispatcher, fDTDScanner, fLoadExternalDTD, fNamespaceContext, fPrologDispatcher, fScanningDTD, fSeenDoctypeDecl, fTrailingMiscDispatcher, fValidationManager, fXMLDeclDispatcher, LOAD_EXTERNAL_DTD, NAMESPACE_CONTEXT, SCANNER_STATE_DTD_EXTERNAL, SCANNER_STATE_DTD_EXTERNAL_DECLS, SCANNER_STATE_DTD_INTERNAL_DECLS, SCANNER_STATE_PROLOG, SCANNER_STATE_TRAILING_MISC, SCANNER_STATE_XML_DECL, VALIDATION_MANAGER
 
Fields inherited from class org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
DEBUG_CONTENT_SCANNING, ENTITY_RESOLVER, fAttributeQName, fAttributes, fContentDispatcher, fCurrentElement, fDispatcher, fDocumentHandler, fElementQName, fElementStack, fEntityStack, fExternalSubsetResolver, fHasExternalDTD, fInScanContent, fIsEntityDeclaredVC, fMarkupDepth, fNotifyBuiltInRefs, fScannerState, fStandalone, fTempString, fTempString2, NAMESPACES, NOTIFY_BUILTIN_REFS, SCANNER_STATE_CDATA, SCANNER_STATE_COMMENT, SCANNER_STATE_CONTENT, SCANNER_STATE_DOCTYPE, SCANNER_STATE_END_OF_INPUT, SCANNER_STATE_PI, SCANNER_STATE_REFERENCE, SCANNER_STATE_ROOT_ELEMENT, SCANNER_STATE_START_OF_MARKUP, SCANNER_STATE_TERMINATED, SCANNER_STATE_TEXT_DECL
 
Fields inherited from class org.apache.xerces.impl.XMLScanner
DEBUG_ATTR_NORMALIZATION, ENTITY_MANAGER, ERROR_REPORTER, fAmpSymbol, fAposSymbol, fCharRefLiteral, fEncodingSymbol, fEntityDepth, fEntityManager, fEntityScanner, fErrorReporter, fGtSymbol, fLtSymbol, fNamespaces, fNotifyCharRefs, fParserSettings, fQuotSymbol, fReportEntity, fResourceIdentifier, fScanningAttribute, fStandaloneSymbol, fSymbolTable, fValidation, fVersionSymbol, NOTIFY_CHAR_REFS, PARSER_SETTINGS, SYMBOL_TABLE, VALIDATION
 
Constructor Summary
XML11DocumentScannerImpl()
          Default constructor.
 
Method Summary
protected  java.lang.String getVersionNotSupportedKey()
           
protected  boolean isInvalid(int value)
           
protected  boolean isInvalidLiteral(int value)
           
protected  int isUnchangedByNormalization(org.apache.xerces.xni.XMLString value)
          Checks whether this string would be unchanged by normalization.
protected  boolean isValidNameChar(int value)
           
protected  boolean isValidNameStartChar(int value)
           
protected  boolean isValidNameStartHighSurrogate(int value)
           
protected  boolean isValidNCName(int value)
           
protected  void normalizeWhitespace(org.apache.xerces.xni.XMLString value)
          Normalize whitespace in an XMLString converting all whitespace characters to space characters.
protected  void normalizeWhitespace(org.apache.xerces.xni.XMLString value, int fromIndex)
          Normalize whitespace in an XMLString converting all whitespace characters to space characters.
protected  boolean scanAttributeValue(org.apache.xerces.xni.XMLString value, org.apache.xerces.xni.XMLString nonNormalizedValue, java.lang.String atName, boolean checkEntities, java.lang.String eleName)
          Scans an attribute value and normalizes whitespace converting all whitespace characters to space characters.
protected  int scanContent()
          Scans element content.
protected  boolean scanPubidLiteral(org.apache.xerces.xni.XMLString literal)
          Scans public ID literal.
protected  boolean versionSupported(java.lang.String version)
           
 
Methods inherited from class org.apache.xerces.impl.XMLDocumentScannerImpl
createContentDispatcher, endEntity, getFeatureDefault, getPropertyDefault, getRecognizedFeatures, getRecognizedProperties, getScannerStateName, reset, scanDoctypeDecl, setFeature, setInputSource, setProperty, startEntity
 
Methods inherited from class org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
getDispatcherName, getDocumentHandler, handleEndElement, scanAttribute, scanCDATASection, scanCharReference, scanComment, scanDocument, scanEndElement, scanEntityReference, scanPIData, scanStartElement, scanStartElementAfterName, scanStartElementName, scanXMLDeclOrTextDecl, setDispatcher, setDocumentHandler, setScannerState
 
Methods inherited from class org.apache.xerces.impl.XMLScanner
getFeature, reportFatalError, reset, scanCharReferenceValue, scanComment, scanExternalID, scanPI, scanPseudoAttribute, scanSurrogates, scanXMLDeclOrTextDecl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XML11DocumentScannerImpl

public XML11DocumentScannerImpl()
Default constructor.

Method Detail

scanContent

protected int scanContent()
                   throws java.io.IOException,
                          org.apache.xerces.xni.XNIException
Scans element content.

Overrides:
scanContent in class XMLDocumentFragmentScannerImpl
Returns:
Returns the next character on the stream.
Throws:
java.io.IOException
org.apache.xerces.xni.XNIException

scanAttributeValue

protected boolean scanAttributeValue(org.apache.xerces.xni.XMLString value,
                                     org.apache.xerces.xni.XMLString nonNormalizedValue,
                                     java.lang.String atName,
                                     boolean checkEntities,
                                     java.lang.String eleName)
                              throws java.io.IOException,
                                     org.apache.xerces.xni.XNIException
Scans an attribute value and normalizes whitespace converting all whitespace characters to space characters. [10] AttValue ::= '"' ([^<&"] | Reference)* '"' | "'" ([^<&'] | Reference)* "'"

Overrides:
scanAttributeValue in class XMLScanner
Parameters:
value - The XMLString to fill in with the value.
nonNormalizedValue - The XMLString to fill in with the non-normalized value.
atName - The name of the attribute being parsed (for error msgs).
checkEntities - true if undeclared entities should be reported as VC violation, false if undeclared entities should be reported as WFC violation.
eleName - The name of element to which this attribute belongs.
Returns:
true if the non-normalized and normalized value are the same Note: This method uses fStringBuffer2, anything in it at the time of calling is lost.
Throws:
java.io.IOException
org.apache.xerces.xni.XNIException

scanPubidLiteral

protected boolean scanPubidLiteral(org.apache.xerces.xni.XMLString literal)
                            throws java.io.IOException,
                                   org.apache.xerces.xni.XNIException
Scans public ID literal. [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'" [13] PubidChar::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%] The returned string is normalized according to the following rule, from http://www.w3.org/TR/REC-xml#dt-pubid: Before a match is attempted, all strings of white space in the public identifier must be normalized to single space characters (#x20), and leading and trailing white space must be removed.

Overrides:
scanPubidLiteral in class XMLScanner
Parameters:
literal - The string to fill in with the public ID literal.
Returns:
True on success. Note: This method uses fStringBuffer, anything in it at the time of calling is lost.
Throws:
java.io.IOException
org.apache.xerces.xni.XNIException

normalizeWhitespace

protected void normalizeWhitespace(org.apache.xerces.xni.XMLString value)
Normalize whitespace in an XMLString converting all whitespace characters to space characters.

Overrides:
normalizeWhitespace in class XMLScanner

normalizeWhitespace

protected void normalizeWhitespace(org.apache.xerces.xni.XMLString value,
                                   int fromIndex)
Normalize whitespace in an XMLString converting all whitespace characters to space characters.

Overrides:
normalizeWhitespace in class XMLScanner

isUnchangedByNormalization

protected int isUnchangedByNormalization(org.apache.xerces.xni.XMLString value)
Checks whether this string would be unchanged by normalization.

Overrides:
isUnchangedByNormalization in class XMLScanner
Returns:
-1 if the value would be unchanged by normalization, otherwise the index of the first whitespace character which would be transformed.

isInvalid

protected boolean isInvalid(int value)
Overrides:
isInvalid in class XMLScanner

isInvalidLiteral

protected boolean isInvalidLiteral(int value)
Overrides:
isInvalidLiteral in class XMLScanner

isValidNameChar

protected boolean isValidNameChar(int value)
Overrides:
isValidNameChar in class XMLScanner

isValidNameStartChar

protected boolean isValidNameStartChar(int value)
Overrides:
isValidNameStartChar in class XMLScanner

isValidNCName

protected boolean isValidNCName(int value)
Overrides:
isValidNCName in class XMLScanner

isValidNameStartHighSurrogate

protected boolean isValidNameStartHighSurrogate(int value)
Overrides:
isValidNameStartHighSurrogate in class XMLScanner

versionSupported

protected boolean versionSupported(java.lang.String version)
Overrides:
versionSupported in class XMLScanner

getVersionNotSupportedKey

protected java.lang.String getVersionNotSupportedKey()
Overrides:
getVersionNotSupportedKey in class XMLScanner


Copyright 1999-2010 The Apache Software Foundation. All Rights Reserved.