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

      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:

  - 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
  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

    Constructors
    Constructor and Description
    `XML11DocumentScannerImpl()` Default constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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-2022 The Apache Software Foundation. All Rights Reserved.