Package org.apache.xerces.impl
Class XML11DocumentScannerImpl
java.lang.Object
org.apache.xerces.impl.XMLScanner
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
org.apache.xerces.impl.XMLDocumentScannerImpl
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
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:
- http://xml.org/sax/features/namespaces
- http://xml.org/sax/features/validation
- http://apache.org/xml/features/nonvalidating/load-external-dtd
- http://apache.org/xml/features/scanner/notify-char-refs
- http://apache.org/xml/features/scanner/notify-builtin-refs
- http://apache.org/xml/properties/internal/symbol-table
- http://apache.org/xml/properties/internal/error-reporter
- http://apache.org/xml/properties/internal/entity-manager
- http://apache.org/xml/properties/internal/dtd-scanner
INTERNAL:
- Usage of this class is not supported. It may be altered or removed at any time.
- 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
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.xerces.impl.XMLDocumentScannerImpl
XMLDocumentScannerImpl.ContentDispatcher, XMLDocumentScannerImpl.DTDDispatcher, XMLDocumentScannerImpl.PrologDispatcher, XMLDocumentScannerImpl.TrailingMiscDispatcher, XMLDocumentScannerImpl.XMLDeclDispatcherNested 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_MANAGERFields 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_DECLFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Stringprotected booleanisInvalid(int value) protected booleanisInvalidLiteral(int value) protected intisUnchangedByNormalization(org.apache.xerces.xni.XMLString value) Checks whether this string would be unchanged by normalization.protected booleanisValidNameChar(int value) protected booleanisValidNameStartChar(int value) protected booleanisValidNameStartHighSurrogate(int value) protected booleanisValidNCName(int value) protected voidnormalizeWhitespace(org.apache.xerces.xni.XMLString value) Normalize whitespace in an XMLString converting all whitespace characters to space characters.protected voidnormalizeWhitespace(org.apache.xerces.xni.XMLString value, int fromIndex) Normalize whitespace in an XMLString converting all whitespace characters to space characters.protected booleanscanAttributeValue(org.apache.xerces.xni.XMLString value, org.apache.xerces.xni.XMLString nonNormalizedValue, String atName, boolean checkEntities, String eleName) Scans an attribute value and normalizes whitespace converting all whitespace characters to space characters.protected intScans element content.protected booleanscanPubidLiteral(org.apache.xerces.xni.XMLString literal) Scans public ID literal.protected booleanversionSupported(String version) Methods inherited from class org.apache.xerces.impl.XMLDocumentScannerImpl
createContentDispatcher, endEntity, getFeatureDefault, getPropertyDefault, getRecognizedFeatures, getRecognizedProperties, getScannerStateName, reset, scanDoctypeDecl, setFeature, setInputSource, setProperty, startEntityMethods 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, setScannerStateMethods inherited from class org.apache.xerces.impl.XMLScanner
getFeature, reportFatalError, reset, scanCharReferenceValue, scanComment, scanExternalID, scanPI, scanPseudoAttribute, scanSurrogates, scanXMLDeclOrTextDecl
-
Constructor Details
-
XML11DocumentScannerImpl
public XML11DocumentScannerImpl()Default constructor.
-
-
Method Details
-
scanContent
Scans element content.- Overrides:
scanContentin classXMLDocumentFragmentScannerImpl- Returns:
- Returns the next character on the stream.
- Throws:
IOExceptionorg.apache.xerces.xni.XNIException
-
scanAttributeValue
protected boolean scanAttributeValue(org.apache.xerces.xni.XMLString value, org.apache.xerces.xni.XMLString nonNormalizedValue, String atName, boolean checkEntities, String eleName) throws IOException, org.apache.xerces.xni.XNIException Scans an attribute value and normalizes whitespace converting all whitespace characters to space characters. [10] AttValue ::= '"' ([^invalid input: '<'invalid input: '&'"] | Reference)* '"' | "'" ([^invalid input: '<'invalid input: '&''] | Reference)* "'"- Overrides:
scanAttributeValuein classXMLScanner- 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:
IOExceptionorg.apache.xerces.xni.XNIException
-
scanPubidLiteral
protected boolean scanPubidLiteral(org.apache.xerces.xni.XMLString literal) throws 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:
scanPubidLiteralin classXMLScanner- 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:
IOExceptionorg.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:
normalizeWhitespacein classXMLScanner
-
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:
normalizeWhitespacein classXMLScanner
-
isUnchangedByNormalization
protected int isUnchangedByNormalization(org.apache.xerces.xni.XMLString value) Checks whether this string would be unchanged by normalization.- Overrides:
isUnchangedByNormalizationin classXMLScanner- 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:
isInvalidin classXMLScanner
-
isInvalidLiteral
protected boolean isInvalidLiteral(int value) - Overrides:
isInvalidLiteralin classXMLScanner
-
isValidNameChar
protected boolean isValidNameChar(int value) - Overrides:
isValidNameCharin classXMLScanner
-
isValidNameStartChar
protected boolean isValidNameStartChar(int value) - Overrides:
isValidNameStartCharin classXMLScanner
-
isValidNCName
protected boolean isValidNCName(int value) - Overrides:
isValidNCNamein classXMLScanner
-
isValidNameStartHighSurrogate
protected boolean isValidNameStartHighSurrogate(int value) - Overrides:
isValidNameStartHighSurrogatein classXMLScanner
-
versionSupported
- Overrides:
versionSupportedin classXMLScanner
-
getVersionNotSupportedKey
- Overrides:
getVersionNotSupportedKeyin classXMLScanner
-