public abstract class

BasicParserConfiguration

extends ParserConfigurationSettings
implements XMLParserConfiguration
java.lang.Object
   ↳ org.apache.xerces.util.ParserConfigurationSettings
     ↳ org.apache.xerces.parsers.BasicParserConfiguration
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

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:

  • Features
    • http://xml.org/sax/features/validation
    • http://xml.org/sax/features/namespaces
    • http://xml.org/sax/features/external-general-entities
    • http://xml.org/sax/features/external-parameter-entities
  • Properties
    • http://xml.org/sax/properties/xml-string
    • http://apache.org/xml/properties/internal/symbol-table
    • http://apache.org/xml/properties/internal/error-handler
    • http://apache.org/xml/properties/internal/entity-resolver

Summary

Constants
String ENTITY_RESOLVER Property identifier: entity resolver.
String ERROR_HANDLER Property identifier: error handler.
String EXTERNAL_GENERAL_ENTITIES Feature identifier: external general entities.
String EXTERNAL_PARAMETER_ENTITIES Feature identifier: external parameter entities.
String NAMESPACES Feature identifier: namespaces.
String SYMBOL_TABLE Property identifier: symbol table.
String VALIDATION Feature identifier: validation.
String XML_STRING Property identifier: xml string.
[Expand]
Inherited Constants
From class org.apache.xerces.util.ParserConfigurationSettings
Fields
protected ArrayList fComponents Components.
protected XMLDTDContentModelHandler fDTDContentModelHandler The DTD content model handler.
protected XMLDTDHandler fDTDHandler The DTD handler.
protected XMLDocumentHandler fDocumentHandler The document handler.
protected XMLDocumentSource fLastComponent Last component in the document pipeline
protected Locale fLocale Locale.
protected SymbolTable fSymbolTable Symbol table.
[Expand]
Inherited Fields
From class org.apache.xerces.util.ParserConfigurationSettings
Protected Constructors
BasicParserConfiguration()
Default Constructor.
BasicParserConfiguration(SymbolTable symbolTable)
Constructs a parser configuration using the specified symbol table.
BasicParserConfiguration(SymbolTable symbolTable, XMLComponentManager parentSettings)
Constructs a parser configuration using the specified symbol table and parent settings.
Public Methods
XMLDTDContentModelHandler getDTDContentModelHandler()
Returns the registered DTD content model handler.
XMLDTDHandler getDTDHandler()
Returns the registered DTD handler.
XMLDocumentHandler getDocumentHandler()
Returns the registered document handler.
XMLEntityResolver getEntityResolver()
Return the current entity resolver.
XMLErrorHandler getErrorHandler()
Return the current error handler.
Locale getLocale()
Returns the locale.
abstract void parse(XMLInputSource inputSource)
Parse an XML document.
void setDTDContentModelHandler(XMLDTDContentModelHandler handler)
Sets the DTD content model handler.
void setDTDHandler(XMLDTDHandler dtdHandler)
Sets the DTD handler.
void setDocumentHandler(XMLDocumentHandler documentHandler)
Sets the document handler on the last component in the pipeline to receive information about the document.
void setEntityResolver(XMLEntityResolver resolver)
Sets the resolver used to resolve external entities.
void setErrorHandler(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
Protected Methods
void addComponent(XMLComponent component)
Adds a component to the parser configuration.
void checkFeature(String featureId)
Check a feature.
void checkProperty(String propertyId)
Check a property.
void reset()
reset all components before parsing and namespace context
[Expand]
Inherited Methods
From class org.apache.xerces.util.ParserConfigurationSettings
From class java.lang.Object
From interface org.apache.xerces.xni.parser.XMLComponentManager
From interface org.apache.xerces.xni.parser.XMLParserConfiguration

Constants

protected static final String ENTITY_RESOLVER

Property identifier: entity resolver.

Constant Value: "http://apache.org/xml/properties/internal/entity-resolver"

protected static final String ERROR_HANDLER

Property identifier: error handler.

Constant Value: "http://apache.org/xml/properties/internal/error-handler"

protected static final String EXTERNAL_GENERAL_ENTITIES

Feature identifier: external general entities.

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

protected static final String EXTERNAL_PARAMETER_ENTITIES

Feature identifier: external parameter entities.

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

protected static final String NAMESPACES

Feature identifier: namespaces.

Constant Value: "http://xml.org/sax/features/namespaces"

protected static final String SYMBOL_TABLE

Property identifier: symbol table.

Constant Value: "http://apache.org/xml/properties/internal/symbol-table"

protected static final String VALIDATION

Feature identifier: validation.

Constant Value: "http://xml.org/sax/features/validation"

protected static final String XML_STRING

Property identifier: xml string.

Constant Value: "http://xml.org/sax/properties/xml-string"

Fields

protected ArrayList fComponents

Components.

protected XMLDTDContentModelHandler fDTDContentModelHandler

The DTD content model handler.

protected XMLDTDHandler fDTDHandler

The DTD handler.

protected XMLDocumentHandler fDocumentHandler

The document handler.

protected XMLDocumentSource fLastComponent

Last component in the document pipeline

protected Locale fLocale

Locale.

protected SymbolTable fSymbolTable

Symbol table.

Protected Constructors

protected BasicParserConfiguration ()

Default Constructor.

protected BasicParserConfiguration (SymbolTable symbolTable)

Constructs a parser configuration using the specified symbol table.

Parameters
symbolTable The symbol table to use.

protected BasicParserConfiguration (SymbolTable symbolTable, 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.

Public Methods

public XMLDTDContentModelHandler getDTDContentModelHandler ()

Returns the registered DTD content model handler.

public XMLDTDHandler getDTDHandler ()

Returns the registered DTD handler.

public XMLDocumentHandler getDocumentHandler ()

Returns the registered document handler.

public XMLEntityResolver getEntityResolver ()

Return the current entity resolver.

Returns
  • The current entity resolver, or null if none has been registered.

public XMLErrorHandler getErrorHandler ()

Return the current error handler.

Returns
  • The current error handler, or null if none has been registered.

public Locale getLocale ()

Returns the locale.

public abstract void parse (XMLInputSource inputSource)

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.

Parameters
inputSource The input source for the top-level of the XML document.
Throws
XNIException Any XNI exception, possibly wrapping another exception.
IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the parser.

public void setDTDContentModelHandler (XMLDTDContentModelHandler handler)

Sets the DTD content model handler.

Parameters
handler The DTD content model handler.

public void setDTDHandler (XMLDTDHandler dtdHandler)

Sets the DTD handler.

Parameters
dtdHandler The DTD handler.

public void setDocumentHandler (XMLDocumentHandler documentHandler)

Sets the document handler on the last component in the pipeline to receive information about the document.

Parameters
documentHandler The document handler.

public void setEntityResolver (XMLEntityResolver 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.

public void setErrorHandler (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.

Parameters
errorHandler The error handler.
Throws
NullPointerException If the handler argument is null.

public void setFeature (String featureId, boolean state)

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
XMLConfigurationException If the requested feature is not known.

public void setLocale (Locale locale)

Set the locale to use for messages.

Parameters
locale The locale object to use for localization of messages.
Throws
XNIException Thrown if the parser does not support the specified locale.

public void setProperty (String propertyId, Object value)

setProperty

Protected Methods

protected void addComponent (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.

protected void checkFeature (String featureId)

Check a feature. If feature is know and supported, this method simply returns. Otherwise, the appropriate exception is thrown.

Parameters
featureId The unique identifier (URI) of the feature.
Throws
XMLConfigurationException Thrown for configuration error. In general, components should only throw this exception if it is really a critical error.

protected void checkProperty (String propertyId)

Check a property. If the property is known and supported, this method simply returns. Otherwise, the appropriate exception is thrown.

Parameters
propertyId The unique identifier (URI) of the property being set.
Throws
XMLConfigurationException If the requested feature is not known or supported.

protected void reset ()

reset all components before parsing and namespace context

Throws
XNIException