Xerces 3.1.1

## org.apache.xerces.framework
Class XMLParser

    java.lang.Object
      |
      +--org.apache.xerces.framework.XMLParser

Direct Known Subclasses:
  DOMParser, SAXParser

public abstract class XMLParser
extends java.lang.Object
implements XMLErrorReporter, XMLDocumentHandler.DTDHandler

This is the base class of all standard parsers.

Version:
  $Id: XMLParser.java,v 1.24 2000/11/04 00:13:13 ericye Exp $

Field Summary
`protected org.apache.xerces.readers.DefaultEntityHandler` `fEntityHandler`
`protected XMLErrorReporter` `fErrorReporter`
`protected org.apache.xerces.validators.common.GrammarResolver` `fGrammarResolver`
`protected boolean` `fParseInProgress`
`protected XMLDocumentScanner` `fScanner`
`protected org.apache.xerces.utils.StringPool` `fStringPool`
`protected org.apache.xerces.validators.common.XMLValidator` `fValidator`
`protected static java.lang.String` `SAX2_FEATURES_PREFIX` SAX2 features prefix (http://xml.org/sax/features/).
`protected static java.lang.String` `SAX2_PROPERTIES_PREFIX` SAX2 properties prefix (http://xml.org/sax/properties/).
`protected static java.lang.String` `XERCES_FEATURES_PREFIX` Xerces features prefix (http://apache.org/xml/features/).
`protected static java.lang.String` `XERCES_PROPERTIES_PREFIX` Xerces properties prefix (http://apache.org/xml/properties/).

Fields inherited from interface org.apache.xerces.framework.XMLErrorReporter
`ERRORTYPE_FATAL_ERROR, ERRORTYPE_RECOVERABLE_ERROR, ERRORTYPE_WARNING`

Constructor Summary
`protected` `XMLParser()` Constructor

Method Summary
`void` `addRecognizer(org.apache.xerces.readers.XMLDeclRecognizer recognizer)` Adds a recognizer.
`protected boolean` `getAllowJavaEncodings()` Returns true if Java encoding names are allowed in the XML document.
`protected boolean` `getContinueAfterFatalError()` Returns true if the parser continues after a fatal error.
`EntityResolver` `getEntityResolver()` Return the current entity resolver.
`ErrorHandler` `getErrorHandler()` Return the current error handler.
`protected boolean` `getExternalGeneralEntities()` Note: This feature is always true.
`protected boolean` `getExternalParameterEntities()` Note: This feature is always true.
`boolean` `getFeature(java.lang.String featureId)` Query the state of a feature.
`java.lang.String[]` `getFeaturesRecognized()` Returns a list of features that this parser recognizes.
`protected boolean` `getLoadDTDGrammar()` Returns true if load DTD grammar is turned on in the XMLValiator.
`Locator` `getLocator()` return the locator being used by the parser
`protected boolean` `getNamespaces()` Returns true if the parser preprocesses namespaces.
`java.lang.String[]` `getPropertiesRecognized()` Returns a list of properties that this parser recognizes.
`java.lang.Object` `getProperty(java.lang.String propertyId)` Query the value of a property.
`protected boolean` `getValidation()` Returns true if validation is turned on.
`protected boolean` `getValidationDynamic()` Returns true if validation is based on whether a document contains a grammar.
`protected boolean` `getValidationSchema()` Returns true if Schema support is turned on.
`protected boolean` `getValidationWarnOnDuplicateAttdef()` Returns true if an error is emitted when an attribute is redefined in the grammar.
`protected boolean` `getValidationWarnOnUndeclaredElemdef()` Returns true if the parser emits an error when an undeclared element is referenced in the grammar.
`protected java.lang.String` `getXMLString()` This method is the equivalent to the property:
`protected void` `initHandlers(boolean sendCharDataAsCharArray, XMLDocumentHandler docHandler, XMLDocumentHandler.DTDHandler dtdHandler)` Set char data processing preference and handlers.
`boolean` `isFeatureRecognized(java.lang.String featureId)` Returns true if the specified feature is recognized.
`boolean` `isPropertyRecognized(java.lang.String propertyId)` Returns true if the specified property is recognized.
`void` `parse(InputSource source)` Parses the specified input source.
`void` `parse(java.lang.String systemId)` Parses the input source specified by the given system identifier.
`boolean` `parseSome()` Application-driven parsing.
`boolean` `parseSomeSetup(InputSource source)` Setup for application-driven parsing.
`void` `reportError(Locator locator, java.lang.String errorDomain, int majorCode, int minorCode, java.lang.Object[] args, int errorType)` Report an error.
`void` `reset()` Reset parser instance so that it can be reused.
`protected void` `resetOrCopy()` Reset or copy parser Allows parser instance reuse
`protected void` `setAllowJavaEncodings(boolean allow)` Allows the use of Java encoding names in the XMLDecl and TextDecl lines in an XML document.
`protected void` `setContinueAfterFatalError(boolean continueAfterFatalError)` Allows the parser to continue after a fatal error.
`void` `setEntityResolver(EntityResolver resolver)` Sets the resolver used to resolve external entities.
`void` `setErrorHandler(ErrorHandler handler)` Sets the error handler.
`protected void` `setExternalGeneralEntities(boolean expand)` Note: Currently, this parser always expands external general entities. Setting this feature to false will throw a SAXNotSupportedException.
`protected void` `setExternalParameterEntities(boolean expand)` Note: Currently, this parser always expands external parameter entities. Setting this feature to false will throw a SAXNotSupportedException.
`void` `setFeature(java.lang.String featureId, boolean state)` Set the state of a feature.
`protected void` `setLoadDTDGrammar(boolean loadDTDGrammar)` Allows the parser to have the choice to load DTD grammar when validation is off.
`void` `setLocale(java.util.Locale locale)` Set the locale to use for messages.
`protected void` `setNamespaces(boolean process)` Sets whether the parser preprocesses namespaces.
`protected void` `setNormalizeAttributeValues(boolean normalize)`
`void` `setProperty(java.lang.String propertyId, java.lang.Object value)` Set the value of a property.
`void` `setReaderFactory(org.apache.xerces.readers.XMLEntityReaderFactory readerFactory)` Set the reader factory.
`protected void` `setValidation(boolean validate)` Sets whether the parser validates.
`protected void` `setValidationDynamic(boolean dynamic)` Allows the parser to validate a document only when it contains a grammar.
`protected void` `setValidationSchema(boolean schema)` Allows the user to turn Schema support on/off.
`protected void` `setValidationWarnOnDuplicateAttdef(boolean warn)` Sets whether an error is emitted when an attribute is redefined in the grammar.
`protected void` `setValidationWarnOnUndeclaredElemdef(boolean warn)` Sets whether the parser emits an error when an element's content model references an element by name that is not declared in the grammar.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### SAX2_FEATURES_PREFIX

    protected static final java.lang.String SAX2_FEATURES_PREFIX

  SAX2 features prefix (http://xml.org/sax/features/).

### SAX2_PROPERTIES_PREFIX

    protected static final java.lang.String SAX2_PROPERTIES_PREFIX

  SAX2 properties prefix (http://xml.org/sax/properties/).

### XERCES_FEATURES_PREFIX

    protected static final java.lang.String XERCES_FEATURES_PREFIX

  Xerces features prefix (http://apache.org/xml/features/).

### XERCES_PROPERTIES_PREFIX

    protected static final java.lang.String XERCES_PROPERTIES_PREFIX

  Xerces properties prefix (http://apache.org/xml/properties/).

### fGrammarResolver

    protected org.apache.xerces.validators.common.GrammarResolver fGrammarResolver

### fParseInProgress

    protected boolean fParseInProgress

### fStringPool

    protected org.apache.xerces.utils.StringPool fStringPool

### fErrorReporter

    protected XMLErrorReporter fErrorReporter

### fEntityHandler

    protected org.apache.xerces.readers.DefaultEntityHandler fEntityHandler

### fScanner

    protected XMLDocumentScanner fScanner

### fValidator

    protected org.apache.xerces.validators.common.XMLValidator fValidator

Constructor Detail

### XMLParser

    protected XMLParser()

  Constructor

Method Detail

### initHandlers

    protected void initHandlers(boolean sendCharDataAsCharArray,
                                XMLDocumentHandler docHandler,
                                XMLDocumentHandler.DTDHandler dtdHandler)

  Set char data processing preference and handlers.

### getFeaturesRecognized

    public java.lang.String[] getFeaturesRecognized()

  Returns a list of features that this parser recognizes. This method will never return null; if no features are recognized, this method will return a zero length array.
  See Also:
    `isFeatureRecognized(java.lang.String)`, `setFeature(java.lang.String, boolean)`, `getFeature(java.lang.String)`

### isFeatureRecognized

    public boolean isFeatureRecognized(java.lang.String featureId)

  Returns true if the specified feature is recognized.
  See Also:
    `getFeaturesRecognized()`, `setFeature(java.lang.String, boolean)`, `getFeature(java.lang.String)`

### getPropertiesRecognized

    public java.lang.String[] getPropertiesRecognized()

  Returns a list of properties that this parser recognizes. This method will never return null; if no properties are recognized, this method will return a zero length array.
  See Also:
    `isPropertyRecognized(java.lang.String)`, `setProperty(java.lang.String, java.lang.Object)`, `getProperty(java.lang.String)`

### isPropertyRecognized

    public boolean isPropertyRecognized(java.lang.String propertyId)

  Returns true if the specified property is recognized.
  See Also:
    `getPropertiesRecognized()`, `setProperty(java.lang.String, java.lang.Object)`, `getProperty(java.lang.String)`

### parseSomeSetup

    public boolean parseSomeSetup(InputSource source)
                           throws java.lang.Exception

  Setup for application-driven parsing.
  Parameters:
    `source` - the input source to be parsed.
  See Also:
    `parseSome()`

### parseSome

    public boolean parseSome()
                      throws java.lang.Exception

  Application-driven parsing.
  See Also:
    `parseSomeSetup(org.xml.sax.InputSource)`

### reset

    public void reset()
               throws java.lang.Exception

  Reset parser instance so that it can be reused.

### getLocator

    public final Locator getLocator()

  return the locator being used by the parser
  Specified by:
    getLocator in interface XMLErrorReporter
  Returns:
    the parser's active locator

### setReaderFactory

    public void setReaderFactory(org.apache.xerces.readers.XMLEntityReaderFactory readerFactory)

  Set the reader factory.

### addRecognizer

    public void addRecognizer(org.apache.xerces.readers.XMLDeclRecognizer recognizer)

  Adds a recognizer.
  Parameters:
    `recognizer` - The XML recognizer to add.

### setValidation

    protected void setValidation(boolean validate)
                          throws SAXNotRecognizedException,
                                 SAXNotSupportedException

  Sets whether the parser validates.

  This method is the equivalent to the feature:

       http://xml.org/sax/features/validation

  Parameters:
    `validate` - True to validate; false to not validate.
  See Also:
    `getValidation()`, `setFeature(java.lang.String, boolean)`

### getValidation

    protected boolean getValidation()
                             throws SAXNotRecognizedException,
                                    SAXNotSupportedException

  Returns true if validation is turned on.
  See Also:
    `setValidation(boolean)`

### setExternalGeneralEntities

    protected void setExternalGeneralEntities(boolean expand)
                                       throws SAXNotRecognizedException,
                                              SAXNotSupportedException

  Note: Currently, this parser always expands external general entities. Setting this feature to false will throw a SAXNotSupportedException.

  Sets whether external general entities are expanded.

  This method is the equivalent to the feature:

       http://xml.org/sax/features/external-general-entities

  Parameters:
    `expand` - True to expand external general entities; false to not expand.
  See Also:
    `getExternalGeneralEntities()`, `setFeature(java.lang.String, boolean)`

### getExternalGeneralEntities

    protected boolean getExternalGeneralEntities()
                                          throws SAXNotRecognizedException,
                                                 SAXNotSupportedException

  Note: This feature is always true.

  Returns true if external general entities are expanded.

  See Also:
    `setExternalGeneralEntities(boolean)`

### setExternalParameterEntities

    protected void setExternalParameterEntities(boolean expand)
                                         throws SAXNotRecognizedException,
                                                SAXNotSupportedException

  Note: Currently, this parser always expands external parameter entities. Setting this feature to false will throw a SAXNotSupportedException.

  Sets whether external parameter entities are expanded.

  This method is the equivalent to the feature:

       http://xml.org/sax/features/external-parameter-entities

  Parameters:
    `expand` - True to expand external parameter entities; false to not expand.
  See Also:
    `getExternalParameterEntities()`, `setFeature(java.lang.String, boolean)`

### getExternalParameterEntities

    protected boolean getExternalParameterEntities()
                                            throws SAXNotRecognizedException,
                                                   SAXNotSupportedException

  Note: This feature is always true.

  Returns true if external parameter entities are expanded.

  See Also:
    `setExternalParameterEntities(boolean)`

### setNamespaces

    protected void setNamespaces(boolean process)
                          throws SAXNotRecognizedException,
                                 SAXNotSupportedException

  Sets whether the parser preprocesses namespaces.

  This method is the equivalent to the feature:

       http://xml.org/sax/features/namespaces

  Parameters:
    `process` - True to process namespaces; false to not process.
  See Also:
    `getNamespaces()`, `setFeature(java.lang.String, boolean)`

### getNamespaces

    protected boolean getNamespaces()
                             throws SAXNotRecognizedException,
                                    SAXNotSupportedException

  Returns true if the parser preprocesses namespaces.
  See Also:
    `setNamespaces(boolean)`

### setValidationSchema

    protected void setValidationSchema(boolean schema)
                                throws SAXNotRecognizedException,
                                       SAXNotSupportedException

  Allows the user to turn Schema support on/off.

  This method is equivalent to the feature:

       http://apache.org/xml/features/validation/schema

  Parameters:
    `schema` - True to turn on Schema support; false to turn it off.
  See Also:
    `getValidationSchema()`, `setFeature(java.lang.String, boolean)`

### getValidationSchema

    protected boolean getValidationSchema()
                                   throws SAXNotRecognizedException,
                                          SAXNotSupportedException

  Returns true if Schema support is turned on.
  See Also:
    `setValidationSchema(boolean)`

### setValidationDynamic

    protected void setValidationDynamic(boolean dynamic)
                                 throws SAXNotRecognizedException,
                                        SAXNotSupportedException

  Allows the parser to validate a document only when it contains a grammar. Validation is turned on/off based on each document instance, automatically.

  This method is the equivalent to the feature:

       http://apache.org/xml/features/validation/dynamic

  Parameters:
    `dynamic` - True to dynamically validate documents; false to validate based on the validation feature.
  See Also:
    `getValidationDynamic()`, `setFeature(java.lang.String, boolean)`

### getValidationDynamic

    protected boolean getValidationDynamic()
                                    throws SAXNotRecognizedException,
                                           SAXNotSupportedException

  Returns true if validation is based on whether a document contains a grammar.
  See Also:
    `setValidationDynamic(boolean)`

### setNormalizeAttributeValues

    protected void setNormalizeAttributeValues(boolean normalize)

### setLoadDTDGrammar

    protected void setLoadDTDGrammar(boolean loadDTDGrammar)
                              throws SAXNotRecognizedException,
                                     SAXNotSupportedException

  Allows the parser to have the choice to load DTD grammar when validation is off.

  This method is the equivalent to the feature:

       http://apache.org/xml/features/nonvalidating/load-dtd-grammar

  Parameters:
    `loadDTDGrammar` - True to turn on the feature; false to turn off the feature.
  See Also:
    `getLoadDTDGrammar()`, `setFeature(java.lang.String, boolean)`

### getLoadDTDGrammar

    protected boolean getLoadDTDGrammar()
                                 throws SAXNotRecognizedException,
                                        SAXNotSupportedException

  Returns true if load DTD grammar is turned on in the XMLValiator.
  See Also:
    `setLoadDTDGrammar(boolean)`

### setValidationWarnOnDuplicateAttdef

    protected void setValidationWarnOnDuplicateAttdef(boolean warn)
                                               throws SAXNotRecognizedException,
                                                      SAXNotSupportedException

  Sets whether an error is emitted when an attribute is redefined in the grammar.

  This method is the equivalent to the feature:

       http://apache.org/xml/features/validation/warn-on-duplicate-attdef

  Parameters:
    `warn` - True to warn; false to not warn.
  See Also:
    `getValidationWarnOnDuplicateAttdef()`, `setFeature(java.lang.String, boolean)`

### getValidationWarnOnDuplicateAttdef

    protected boolean getValidationWarnOnDuplicateAttdef()
                                                  throws SAXNotRecognizedException,
                                                         SAXNotSupportedException

  Returns true if an error is emitted when an attribute is redefined in the grammar.
  See Also:
    `setValidationWarnOnDuplicateAttdef(boolean)`

### setValidationWarnOnUndeclaredElemdef

    protected void setValidationWarnOnUndeclaredElemdef(boolean warn)
                                                 throws SAXNotRecognizedException,
                                                        SAXNotSupportedException

  Sets whether the parser emits an error when an element's content model references an element by name that is not declared in the grammar.

  This method is the equivalent to the feature:

       http://apache.org/xml/features/validation/warn-on-undeclared-elemdef

  Parameters:
    `warn` - True to warn; false to not warn.
  See Also:
    `getValidationWarnOnUndeclaredElemdef()`, `setFeature(java.lang.String, boolean)`

### getValidationWarnOnUndeclaredElemdef

    protected boolean getValidationWarnOnUndeclaredElemdef()
                                                    throws SAXNotRecognizedException,
                                                           SAXNotSupportedException

  Returns true if the parser emits an error when an undeclared element is referenced in the grammar.
  See Also:
    `setValidationWarnOnUndeclaredElemdef(boolean)`

### setAllowJavaEncodings

    protected void setAllowJavaEncodings(boolean allow)
                                  throws SAXNotRecognizedException,
                                         SAXNotSupportedException

  Allows the use of Java encoding names in the XMLDecl and TextDecl lines in an XML document.

  This method is the equivalent to the feature:

       http://apache.org/xml/features/allow-java-encodings

  Parameters:
    `allow` - True to allow Java encoding names; false to disallow.
  See Also:
    `getAllowJavaEncodings()`, `setFeature(java.lang.String, boolean)`

### getAllowJavaEncodings

    protected boolean getAllowJavaEncodings()
                                     throws SAXNotRecognizedException,
                                            SAXNotSupportedException

  Returns true if Java encoding names are allowed in the XML document.
  See Also:
    `setAllowJavaEncodings(boolean)`

### setContinueAfterFatalError

    protected void setContinueAfterFatalError(boolean continueAfterFatalError)
                                       throws SAXNotRecognizedException,
                                              SAXNotSupportedException

  Allows the parser to continue after a fatal error. Normally, a fatal error would stop the parse.

  This method is the equivalent to the feature:

       http://apache.org/xml/features/continue-after-fatal-error

  Parameters:
    `continueAfterFatalError` - True to continue; false to stop on fatal error.
  See Also:
    `getContinueAfterFatalError()`, `setFeature(java.lang.String, boolean)`

### getContinueAfterFatalError

    protected boolean getContinueAfterFatalError()
                                          throws SAXNotRecognizedException,
                                                 SAXNotSupportedException

  Returns true if the parser continues after a fatal error.
  See Also:
    `setContinueAfterFatalError(boolean)`

### getXMLString

    protected java.lang.String getXMLString()
                                     throws SAXNotRecognizedException,
                                            SAXNotSupportedException

  This method is the equivalent to the property:

       http://xml.org/sax/properties/xml-string

  See Also:
    `getProperty(java.lang.String)`

### resetOrCopy

    protected void resetOrCopy()
                        throws java.lang.Exception

  Reset or copy parser Allows parser instance reuse

### setEntityResolver

    public void setEntityResolver(EntityResolver resolver)

  Sets the resolver used to resolve external entities. The EntityResolver interface supports resolution of public and system identifiers.
  Parameters:
    `resolver` - The new entity resolver. Passing a null value will uninstall the currently installed resolver.

### getEntityResolver

    public EntityResolver getEntityResolver()

  Return the current entity resolver.
  Returns:
    The current entity resolver, or null if none has been registered.
  See Also:
    `setEntityResolver(org.xml.sax.EntityResolver)`

### setErrorHandler

    public void setErrorHandler(ErrorHandler handler)

  Sets the error handler.
  Parameters:
    `handler` - The new error handler.

### getErrorHandler

    public ErrorHandler getErrorHandler()

  Return the current error handler.
  Returns:
    The current error handler, or null if none has been registered.
  See Also:
    `setErrorHandler(org.xml.sax.ErrorHandler)`

### parse

    public void parse(InputSource source)
               throws SAXException,
                      java.io.IOException

  Parses the specified input source.
  Parameters:
    `source` - The input source.
  Throws:
    SAXException - Throws exception on SAX error.
    java.io.IOException - Throws exception on i/o error.

### parse

    public void parse(java.lang.String systemId)
               throws SAXException,
                      java.io.IOException

  Parses the input source specified by the given system identifier.

  This method is equivalent to the following:

           parse(new InputSource(systemId));

  Parameters:
    `source` - The input source.
  Throws:
    SAXException - Throws exception on SAX error.
    java.io.IOException - Throws exception on i/o error.

### setLocale

    public void setLocale(java.util.Locale locale)
                   throws SAXException

  Set the locale to use for messages.
  Parameters:
    `locale` - The locale object to use for localization of messages.
  Throws:
    SAXException - An exception thrown if the parser does not support the specified locale.
  See Also:
    `Parser`

### reportError

    public void reportError(Locator locator,
                            java.lang.String errorDomain,
                            int majorCode,
                            int minorCode,
                            java.lang.Object[] args,
                            int errorType)
                     throws java.lang.Exception

  Report an error.
  Specified by:
    reportError in interface XMLErrorReporter
  Parameters:
    `locator` - Location of error.
    `errorDomain` - The error domain.
    `majorCode` - The major code of the error.
    `minorCode` - The minor code of the error.
    `args` - Arguments for replacement text.
    `errorType` - The type of the error.
  Throws:
    java.lang.Exception - Thrown on error.
  See Also:
    `XMLErrorReporter.ERRORTYPE_WARNING`, `XMLErrorReporter.ERRORTYPE_FATAL_ERROR`

### setFeature

    public void setFeature(java.lang.String featureId,
                           boolean state)
                    throws SAXNotRecognizedException,
                           SAXNotSupportedException

  Set the state of a feature. Set the state of any feature in a SAX2 parser. The parser might not recognize the feature, and if it does recognize it, it might not be able to fulfill the request.
  Parameters:
    `featureId` - The unique identifier (URI) of the feature.
    `state` - The requested state of the feature (true or false).
  Throws:
    SAXNotRecognizedException - If the requested feature is not known.
    SAXNotSupportedException - If the requested feature is known, but the requested state is not supported.
    SAXException - If there is any other problem fulfilling the request.

### getFeature

    public boolean getFeature(java.lang.String featureId)
                       throws SAXNotRecognizedException,
                              SAXNotSupportedException

  Query the state of a feature. Query the current state of any feature in a SAX2 parser. The parser might not recognize the feature.
  Parameters:
    `featureId` - The unique identifier (URI) of the feature being set.
  Returns:
    The current state of the feature.
  Throws:
    SAXNotRecognizedException - If the requested feature is not known.
    SAXException - If there is any other problem fulfilling the request.

### setProperty

    public void setProperty(java.lang.String propertyId,
                            java.lang.Object value)
                     throws SAXNotRecognizedException,
                            SAXNotSupportedException

  Set the value of a property. Set the value of any property in a SAX2 parser. The parser might not recognize the property, and if it does recognize it, it might not support the requested value.
  Parameters:
    `propertyId` - The unique identifier (URI) of the property being set.
    `Object` - The value to which the property is being set.
  Throws:
    SAXNotRecognizedException - If the requested property is not known.
    SAXNotSupportedException - If the requested property is known, but the requested value is not supported.
    SAXException - If there is any other problem fulfilling the request.

### getProperty

    public java.lang.Object getProperty(java.lang.String propertyId)
                                 throws SAXNotRecognizedException,
                                        SAXNotSupportedException

  Query the value of a property. Return the current value of a property in a SAX2 parser. The parser might not recognize the property.
  Parameters:
    `propertyId` - The unique identifier (URI) of the property being set.
  Returns:
    The current value of the property.
  Throws:
    SAXNotRecognizedException - If the requested property is not known.
    SAXException - If there is any other problem fulfilling the request.
  See Also:
    `XMLReader.getProperty(java.lang.String)`

Xerces 3.1.1