Class XML11NSDocumentScannerImpl
- All Implemented Interfaces:
XMLEntityHandler
,org.apache.xerces.xni.parser.XMLComponent
,org.apache.xerces.xni.parser.XMLDocumentScanner
,org.apache.xerces.xni.parser.XMLDocumentSource
This component requires the following features and properties from the component manager that uses it:
- http://xml.org/sax/features/namespaces {true} -- if the value of this feature is set to false this scanner must not be used.
- 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: XML11NSDocumentScannerImpl.java 495747 2007-01-12 21:48:00Z mrglavas $
- Author:
- Elena Litani, IBM, Michael Glavassevich, IBM
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected final class
Dispatcher to handle content scanning.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
FieldsModifier and TypeFieldDescriptionprotected boolean
If is true, the dtd validator is no longer in the pipeline and the scanner should bind namespacesprotected boolean
If validating parser, make sure we report an error in the scanner if DTD grammar is missing.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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates a content dispatcher.void
reset
(org.apache.xerces.xni.parser.XMLComponentManager componentManager) Resets the component.protected void
scanAttribute
(XMLAttributesImpl attributes) Scans an attribute.protected int
Scans an end element.protected boolean
Scans a start element.protected boolean
Scans the remainder of a start or empty tag after the element name.protected void
Scans the name of an element in a start or empty tag.void
setDTDValidator
(XMLDTDValidatorFilter validator) The scanner is responsible for removing DTD validator from the pipeline if it is not needed.Methods inherited from class org.apache.xerces.impl.XML11DocumentScannerImpl
getVersionNotSupportedKey, isInvalid, isInvalidLiteral, isUnchangedByNormalization, isValidNameChar, isValidNameStartChar, isValidNameStartHighSurrogate, isValidNCName, normalizeWhitespace, normalizeWhitespace, scanAttributeValue, scanContent, scanPubidLiteral, versionSupported
Methods inherited from class org.apache.xerces.impl.XMLDocumentScannerImpl
endEntity, getFeatureDefault, getPropertyDefault, getRecognizedFeatures, getRecognizedProperties, getScannerStateName, scanDoctypeDecl, setFeature, setInputSource, setProperty, startEntity
Methods inherited from class org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
getDispatcherName, getDocumentHandler, handleEndElement, scanAttribute, scanCDATASection, scanCharReference, scanComment, scanDocument, scanEntityReference, scanPIData, scanXMLDeclOrTextDecl, setDispatcher, setDocumentHandler, setScannerState
Methods inherited from class org.apache.xerces.impl.XMLScanner
getFeature, reportFatalError, reset, scanCharReferenceValue, scanComment, scanExternalID, scanPI, scanPseudoAttribute, scanSurrogates, scanXMLDeclOrTextDecl
-
Field Details
-
fBindNamespaces
protected boolean fBindNamespacesIf is true, the dtd validator is no longer in the pipeline and the scanner should bind namespaces -
fPerformValidation
protected boolean fPerformValidationIf validating parser, make sure we report an error in the scanner if DTD grammar is missing.
-
-
Constructor Details
-
XML11NSDocumentScannerImpl
public XML11NSDocumentScannerImpl()
-
-
Method Details
-
setDTDValidator
The scanner is responsible for removing DTD validator from the pipeline if it is not needed.- Parameters:
validator
- the DTD validator from the pipeline
-
scanStartElement
Scans a start element. This method will handle the binding of namespace information and notifying the handler of the start of the element.[44] EmptyElemTag ::= '<' Name (S Attribute)* S? '/>' [40] STag ::= '<' Name (S Attribute)* S? '>'
Note: This method assumes that the leading '<' character has been consumed.
Note: This method uses the fElementQName and fAttributes variables. The contents of these variables will be destroyed. The caller should copy important information out of these variables before calling this method.
- Overrides:
scanStartElement
in classXMLDocumentFragmentScannerImpl
- Returns:
- True if element is empty. (i.e. It matches production [44].
- Throws:
IOException
org.apache.xerces.xni.XNIException
-
scanStartElementName
Scans the name of an element in a start or empty tag.- Overrides:
scanStartElementName
in classXMLDocumentFragmentScannerImpl
- Throws:
IOException
org.apache.xerces.xni.XNIException
- See Also:
-
scanStartElementAfterName
protected boolean scanStartElementAfterName() throws IOException, org.apache.xerces.xni.XNIExceptionScans the remainder of a start or empty tag after the element name.- Overrides:
scanStartElementAfterName
in classXMLDocumentFragmentScannerImpl
- Returns:
- True if element is empty.
- Throws:
IOException
org.apache.xerces.xni.XNIException
- See Also:
-
scanAttribute
protected void scanAttribute(XMLAttributesImpl attributes) throws IOException, org.apache.xerces.xni.XNIException Scans an attribute.[41] Attribute ::= Name Eq AttValue
Note: This method assumes that the next character on the stream is the first character of the attribute name.
Note: This method uses the fAttributeQName and fQName variables. The contents of these variables will be destroyed.
- Parameters:
attributes
- The attributes list for the scanned attribute.- Throws:
IOException
org.apache.xerces.xni.XNIException
-
scanEndElement
Scans an end element.[42] ETag ::= '</' Name S? '>'
Note: This method uses the fElementQName variable. The contents of this variable will be destroyed. The caller should copy the needed information out of this variable before calling this method.
- Overrides:
scanEndElement
in classXMLDocumentFragmentScannerImpl
- Returns:
- The element depth.
- Throws:
IOException
org.apache.xerces.xni.XNIException
-
reset
public void reset(org.apache.xerces.xni.parser.XMLComponentManager componentManager) throws org.apache.xerces.xni.parser.XMLConfigurationException Description copied from class:XMLDocumentScannerImpl
Resets the component. The component can query the component manager about any features and properties that affect the operation of the component.- Specified by:
reset
in interfaceorg.apache.xerces.xni.parser.XMLComponent
- Overrides:
reset
in classXMLDocumentScannerImpl
- Parameters:
componentManager
- The component manager.- Throws:
org.apache.xerces.xni.parser.XMLConfigurationException
-
createContentDispatcher
Creates a content dispatcher.- Overrides:
createContentDispatcher
in classXMLDocumentScannerImpl
-