org.apache.xerces.parsers

Class BasicParserConfiguration

Implemented Interfaces:
org.apache.xerces.xni.parser.XMLComponentManager, org.apache.xerces.xni.parser.XMLParserConfiguration
Known Direct Subclasses:
DTDConfiguration, NonValidatingConfiguration, SchemaParsingConfig

public abstract class BasicParserConfiguration
extends ParserConfigurationSettings
implements org.apache.xerces.xni.parser.XMLParserConfiguration

A very basic parser configuration. This configuration class can be used as a base class for custom parser configurations. The basic parser configuration creates the symbol table (if not specified at construction time) and manages all of the recognized features and properties.

The basic parser configuration does not mandate any particular pipeline configuration or the use of specific components except for the symbol table. If even this is too much for a basic parser configuration, the programmer can create a new configuration class that implements the XMLParserConfiguration interface.

Subclasses of the basic parser configuration can add their own recognized features and properties by calling the addRecognizedFeature and addRecognizedProperty methods, respectively.

The basic parser configuration assumes that the configuration will be made up of various parser components that implement the XMLComponent interface. If subclasses of this configuration create their own components for use in the parser configuration, then each component should be added to the list of components by calling the addComponent method. The basic parser configuration will make sure to call the reset method of each registered component before parsing an instance document.

This class recognizes the following features and properties:

  • Properties
  • Version:
    $Id: BasicParserConfiguration.java 319881 2004-04-12 21:56:02Z mrglavas $
    Authors:
    Arnaud Le Hors, IBM
    Andy Clark, IBM

    Field Summary

    protected static String
    ENTITY_RESOLVER
    Property identifier: entity resolver.
    protected static String
    ERROR_HANDLER
    Property identifier: error handler.
    protected static String
    EXTERNAL_GENERAL_ENTITIES
    Feature identifier: external general entities.
    protected static String
    EXTERNAL_PARAMETER_ENTITIES
    Feature identifier: external parameter entities.
    protected static String
    NAMESPACES
    Feature identifier: namespaces.
    protected static String
    SYMBOL_TABLE
    Property identifier: symbol table.
    protected static String
    VALIDATION
    Feature identifier: validation.
    protected static String
    XML_STRING
    Property identifier: xml string.
    protected ArrayList
    fComponents
    Components.
    protected org.apache.xerces.xni.XMLDTDContentModelHandler
    fDTDContentModelHandler
    The DTD content model handler.
    protected org.apache.xerces.xni.XMLDTDHandler
    fDTDHandler
    The DTD handler.
    protected org.apache.xerces.xni.XMLDocumentHandler
    fDocumentHandler
    The document handler.
    protected org.apache.xerces.xni.parser.XMLDocumentSource
    fLastComponent
    Last component in the document pipeline
    protected Locale
    fLocale
    Locale.
    protected SymbolTable
    fSymbolTable
    Symbol table.

    Fields inherited from class org.apache.xerces.util.ParserConfigurationSettings

    PARSER_SETTINGS, fFeatures, fParentSettings, fProperties, fRecognizedFeatures, fRecognizedProperties

    Constructor Summary

    BasicParserConfiguration()
    Default Constructor.
    BasicParserConfiguration(SymbolTable symbolTable)
    Constructs a parser configuration using the specified symbol table.
    BasicParserConfiguration(SymbolTable symbolTable, org.apache.xerces.xni.parser.XMLComponentManager parentSettings)
    Constructs a parser configuration using the specified symbol table and parent settings.

    Method Summary

    protected void
    addComponent(org.apache.xerces.xni.parser.XMLComponent component)
    Adds a component to the parser configuration.
    protected void
    checkFeature(String featureId)
    Check a feature.
    protected void
    checkProperty(String propertyId)
    Check a property.
    org.apache.xerces.xni.XMLDTDContentModelHandler
    getDTDContentModelHandler()
    Returns the registered DTD content model handler.
    org.apache.xerces.xni.XMLDTDHandler
    getDTDHandler()
    Returns the registered DTD handler.
    org.apache.xerces.xni.XMLDocumentHandler
    getDocumentHandler()
    Returns the registered document handler.
    org.apache.xerces.xni.parser.XMLEntityResolver
    getEntityResolver()
    Return the current entity resolver.
    org.apache.xerces.xni.parser.XMLErrorHandler
    getErrorHandler()
    Return the current error handler.
    Locale
    getLocale()
    Returns the locale.
    abstract void
    parse(org.apache.xerces.xni.parser.XMLInputSource inputSource)
    Parse an XML document.
    protected void
    reset()
    reset all components before parsing and namespace context
    void
    setDTDContentModelHandler(org.apache.xerces.xni.XMLDTDContentModelHandler handler)
    Sets the DTD content model handler.
    void
    setDTDHandler(org.apache.xerces.xni.XMLDTDHandler dtdHandler)
    Sets the DTD handler.
    void
    setDocumentHandler(org.apache.xerces.xni.XMLDocumentHandler documentHandler)
    Sets the document handler on the last component in the pipeline to receive information about the document.
    void
    setEntityResolver(org.apache.xerces.xni.parser.XMLEntityResolver resolver)
    Sets the resolver used to resolve external entities.
    void
    setErrorHandler(org.apache.xerces.xni.parser.XMLErrorHandler errorHandler)
    Allow an application to register an error event handler.
    void
    setFeature(String featureId, boolean state)
    Set the state of a feature.
    void
    setLocale(Locale locale)
    Set the locale to use for messages.
    void
    setProperty(String propertyId, Object value)
    setProperty

    Methods inherited from class org.apache.xerces.util.ParserConfigurationSettings

    addRecognizedFeatures, addRecognizedProperties, checkFeature, checkProperty, getFeature, getProperty, setFeature, setProperty

    Field Details

    ENTITY_RESOLVER

    protected static final String ENTITY_RESOLVER
    Property identifier: entity resolver.

    ERROR_HANDLER

    protected static final String ERROR_HANDLER
    Property identifier: error handler.

    EXTERNAL_GENERAL_ENTITIES

    protected static final String EXTERNAL_GENERAL_ENTITIES
    Feature identifier: external general entities.

    EXTERNAL_PARAMETER_ENTITIES

    protected static final String EXTERNAL_PARAMETER_ENTITIES
    Feature identifier: external parameter entities.

    NAMESPACES

    protected static final String NAMESPACES
    Feature identifier: namespaces.

    SYMBOL_TABLE

    protected static final String SYMBOL_TABLE
    Property identifier: symbol table.

    VALIDATION

    protected static final String VALIDATION
    Feature identifier: validation.

    XML_STRING

    protected static final String XML_STRING
    Property identifier: xml string.

    fComponents

    protected ArrayList fComponents
    Components.

    fDTDContentModelHandler

    protected org.apache.xerces.xni.XMLDTDContentModelHandler fDTDContentModelHandler
    The DTD content model handler.

    fDTDHandler

    protected org.apache.xerces.xni.XMLDTDHandler fDTDHandler
    The DTD handler.

    fDocumentHandler

    protected org.apache.xerces.xni.XMLDocumentHandler fDocumentHandler
    The document handler.

    fLastComponent

    protected org.apache.xerces.xni.parser.XMLDocumentSource fLastComponent
    Last component in the document pipeline

    fLocale

    protected Locale fLocale
    Locale.

    fSymbolTable

    protected SymbolTable fSymbolTable
    Symbol table.

    Constructor Details

    BasicParserConfiguration

    protected BasicParserConfiguration()
    Default Constructor.

    BasicParserConfiguration

    protected BasicParserConfiguration(SymbolTable symbolTable)
    Constructs a parser configuration using the specified symbol table.
    Parameters:
    symbolTable - The symbol table to use.

    BasicParserConfiguration

    protected BasicParserConfiguration(SymbolTable symbolTable,
                                       org.apache.xerces.xni.parser.XMLComponentManager parentSettings)
    Constructs a parser configuration using the specified symbol table and parent settings.
    Parameters:
    symbolTable - The symbol table to use.
    parentSettings - The parent settings.

    Method Details

    addComponent

    protected void addComponent(org.apache.xerces.xni.parser.XMLComponent component)
    Adds a component to the parser configuration. This method will also add all of the component's recognized features and properties to the list of default recognized features and properties.
    Parameters:
    component - The component to add.

    checkFeature

    protected void checkFeature(String featureId)
                throws org.apache.xerces.xni.parser.XMLConfigurationException
    Check a feature. If feature is know and supported, this method simply returns. Otherwise, the appropriate exception is thrown.
    Overrides:
    checkFeature in interface ParserConfigurationSettings
    Parameters:
    featureId - The unique identifier (URI) of the feature.
    Throws:
    org.apache.xerces.xni.parser.XMLConfigurationException - Thrown for configuration error. In general, components should only throw this exception if it is really a critical error.

    checkProperty

    protected void checkProperty(String propertyId)
                throws org.apache.xerces.xni.parser.XMLConfigurationException
    Check a property. If the property is known and supported, this method simply returns. Otherwise, the appropriate exception is thrown.
    Overrides:
    checkProperty in interface ParserConfigurationSettings
    Parameters:
    propertyId - The unique identifier (URI) of the property being set.
    Throws:
    org.apache.xerces.xni.parser.XMLConfigurationException - If the requested feature is not known or supported.

    getDTDContentModelHandler

    public org.apache.xerces.xni.XMLDTDContentModelHandler getDTDContentModelHandler()
    Returns the registered DTD content model handler.
    Specified by:
    getDTDContentModelHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration

    getDTDHandler

    public org.apache.xerces.xni.XMLDTDHandler getDTDHandler()
    Returns the registered DTD handler.
    Specified by:
    getDTDHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration

    getDocumentHandler

    public org.apache.xerces.xni.XMLDocumentHandler getDocumentHandler()
    Returns the registered document handler.
    Specified by:
    getDocumentHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration

    getEntityResolver

    public org.apache.xerces.xni.parser.XMLEntityResolver getEntityResolver()
    Return the current entity resolver.
    Specified by:
    getEntityResolver in interface org.apache.xerces.xni.parser.XMLParserConfiguration
    Returns:
    The current entity resolver, or null if none has been registered.

    getErrorHandler

    public org.apache.xerces.xni.parser.XMLErrorHandler getErrorHandler()
    Return the current error handler.
    Specified by:
    getErrorHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
    Returns:
    The current error handler, or null if none has been registered.

    getLocale

    public Locale getLocale()
    Returns the locale.
    Specified by:
    getLocale in interface org.apache.xerces.xni.parser.XMLParserConfiguration

    parse

    public abstract void parse(org.apache.xerces.xni.parser.XMLInputSource inputSource)
                throws org.apache.xerces.xni.XNIException,
                       IOException
    Parse an XML document.

    The parser can use this method to instruct this configuration to begin parsing an XML document from any valid input source (a character stream, a byte stream, or a URI).

    Parsers may not invoke this method while a parse is in progress. Once a parse is complete, the parser may then parse another XML document.

    This method is synchronous: it will not return until parsing has ended. If a client application wants to terminate parsing early, it should throw an exception.

    Specified by:
    parse in interface org.apache.xerces.xni.parser.XMLParserConfiguration
    Parameters:
    inputSource - The input source for the top-level of the XML document.
    Throws:
    org.apache.xerces.xni.XNIException - Any XNI exception, possibly wrapping another exception.

    reset

    protected void reset()
                throws org.apache.xerces.xni.XNIException
    reset all components before parsing and namespace context

    setDTDContentModelHandler

    public void setDTDContentModelHandler(org.apache.xerces.xni.XMLDTDContentModelHandler handler)
    Sets the DTD content model handler.
    Specified by:
    setDTDContentModelHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
    Parameters:
    handler - The DTD content model handler.

    setDTDHandler

    public void setDTDHandler(org.apache.xerces.xni.XMLDTDHandler dtdHandler)
    Sets the DTD handler.
    Specified by:
    setDTDHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
    Parameters:
    dtdHandler - The DTD handler.

    setDocumentHandler

    public void setDocumentHandler(org.apache.xerces.xni.XMLDocumentHandler documentHandler)
    Sets the document handler on the last component in the pipeline to receive information about the document.
    Specified by:
    setDocumentHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
    Parameters:
    documentHandler - The document handler.

    setEntityResolver

    public void setEntityResolver(org.apache.xerces.xni.parser.XMLEntityResolver resolver)
    Sets the resolver used to resolve external entities. The EntityResolver interface supports resolution of public and system identifiers.
    Specified by:
    setEntityResolver in interface org.apache.xerces.xni.parser.XMLParserConfiguration
    Parameters:
    resolver - The new entity resolver. Passing a null value will uninstall the currently installed resolver.

    setErrorHandler

    public void setErrorHandler(org.apache.xerces.xni.parser.XMLErrorHandler errorHandler)
    Allow an application to register an error event handler.

    If the application does not register an error handler, all error events reported by the SAX parser will be silently ignored; however, normal processing may not continue. It is highly recommended that all SAX applications implement an error handler to avoid unexpected bugs.

    Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.

    Specified by:
    setErrorHandler in interface org.apache.xerces.xni.parser.XMLParserConfiguration
    Parameters:
    errorHandler - The error handler.

    setFeature

    public void setFeature(String featureId,
                           boolean state)
                throws org.apache.xerces.xni.parser.XMLConfigurationException
    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.
    Specified by:
    setFeature in interface org.apache.xerces.xni.parser.XMLParserConfiguration
    Overrides:
    setFeature in interface ParserConfigurationSettings
    Parameters:
    featureId - The unique identifier (URI) of the feature.
    state - The requested state of the feature (true or false).
    Throws:
    org.apache.xerces.xni.parser.XMLConfigurationException - If the requested feature is not known.

    setLocale

    public void setLocale(Locale locale)
                throws org.apache.xerces.xni.XNIException
    Set the locale to use for messages.
    Specified by:
    setLocale in interface org.apache.xerces.xni.parser.XMLParserConfiguration
    Parameters:
    locale - The locale object to use for localization of messages.
    Throws:
    org.apache.xerces.xni.XNIException - Thrown if the parser does not support the specified locale.

    setProperty

    public void setProperty(String propertyId,
                            Object value)
                throws org.apache.xerces.xni.parser.XMLConfigurationException
    setProperty
    Specified by:
    setProperty in interface org.apache.xerces.xni.parser.XMLParserConfiguration
    Overrides:
    setProperty in interface ParserConfigurationSettings
    Parameters:
    propertyId -
    value -

    Copyright B) 1999-2006 The Apache Software Foundation. All Rights Reserved.