Class XML11DTDScannerImpl

  • All Implemented Interfaces:
    XMLEntityHandler, XMLComponent, XMLDTDContentModelSource, XMLDTDScanner, 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
    Version:
    $Id$
    Author:
    Arnaud Le Hors, IBM, Andy Clark, IBM, Glenn Marcy, IBM, Eric Ye, IBM
    • Constructor Detail

      • XML11DTDScannerImpl

        public XML11DTDScannerImpl()
        Default constructor.
    • Method Detail

      • scanPubidLiteral

        protected boolean scanPubidLiteral​(XMLString literal)
                                    throws IOException,
                                           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
        XNIException
      • normalizeWhitespace

        protected void normalizeWhitespace​(XMLString value)
        Normalize whitespace in an XMLString converting all whitespace characters to space characters.
        Overrides:
        normalizeWhitespace in class XMLScanner
      • normalizeWhitespace

        protected void normalizeWhitespace​(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​(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