Class XML11DTDScannerImpl

All Implemented Interfaces:
XMLEntityHandler, org.apache.xerces.xni.parser.XMLComponent, org.apache.xerces.xni.parser.XMLDTDContentModelSource, org.apache.xerces.xni.parser.XMLDTDScanner, org.apache.xerces.xni.parser.XMLDTDSource

public class XML11DTDScannerImpl extends XMLDTDScannerImpl
This class is responsible for scanning the declarations found in the internal and external subsets of a DTD in an XML document. The scanner acts as the sources for the DTD information which is communicated to the DTD handlers.

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

  • http://xml.org/sax/features/validation
  • http://apache.org/xml/features/scanner/notify-char-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

INTERNAL:

Usage of this class is not supported. It may be altered or removed at any time.
Version:
$Id: XML11DTDScannerImpl.java 572055 2007-09-02 17:55:43Z mrglavas $
Author:
Arnaud Le Hors, IBM, Andy Clark, IBM, Glenn Marcy, IBM, Eric Ye, IBM
  • Constructor Details

    • XML11DTDScannerImpl

      public XML11DTDScannerImpl()
      Default constructor.
    • XML11DTDScannerImpl

      public XML11DTDScannerImpl(SymbolTable symbolTable, XMLErrorReporter errorReporter, XMLEntityManager entityManager)
      Constructor for he use of non-XMLComponentManagers.
  • Method Details

    • 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:
      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:
      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(String version)
      Overrides:
      versionSupported in class XMLScanner
    • getVersionNotSupportedKey

      protected String getVersionNotSupportedKey()
      Overrides:
      getVersionNotSupportedKey in class XMLScanner