org.apache.xerces.parsers

Class BasicParserConfiguration

public abstract class BasicParserConfiguration extends ParserConfigurationSettings implements 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:

Version: $Id: BasicParserConfiguration.java,v 1.24 2004/04/12 21:56:02 mrglavas Exp $

Author: Arnaud Le Hors, IBM Andy Clark, IBM

Field Summary
protected static StringENTITY_RESOLVER
Property identifier: entity resolver.
protected static StringERROR_HANDLER
Property identifier: error handler.
protected static StringEXTERNAL_GENERAL_ENTITIES
Feature identifier: external general entities.
protected static StringEXTERNAL_PARAMETER_ENTITIES
Feature identifier: external parameter entities.
protected ArrayListfComponents
Components.
protected XMLDocumentHandlerfDocumentHandler
The document handler.
protected XMLDTDContentModelHandlerfDTDContentModelHandler
The DTD content model handler.
protected XMLDTDHandlerfDTDHandler
The DTD handler.
protected XMLDocumentSourcefLastComponent
Last component in the document pipeline
protected LocalefLocale
Locale.
protected SymbolTablefSymbolTable
Symbol table.
protected static StringNAMESPACES
Feature identifier: namespaces.
protected static StringSYMBOL_TABLE
Property identifier: symbol table.
protected static StringVALIDATION
Feature identifier: validation.
protected static StringXML_STRING
Property identifier: xml string.
Constructor Summary
protected BasicParserConfiguration()
Default Constructor.
protected BasicParserConfiguration(SymbolTable symbolTable)
Constructs a parser configuration using the specified symbol table.
protected BasicParserConfiguration(SymbolTable symbolTable, XMLComponentManager parentSettings)
Constructs a parser configuration using the specified symbol table and parent settings.
Method Summary
protected voidaddComponent(XMLComponent component)
Adds a component to the parser configuration.
protected voidcheckFeature(String featureId)
Check a feature.
protected voidcheckProperty(String propertyId)
Check a property.
XMLDocumentHandlergetDocumentHandler()
Returns the registered document handler.
XMLDTDContentModelHandlergetDTDContentModelHandler()
Returns the registered DTD content model handler.
XMLDTDHandlergetDTDHandler()
Returns the registered DTD handler.
XMLEntityResolvergetEntityResolver()
Return the current entity resolver.
XMLErrorHandlergetErrorHandler()
Return the current error handler.
LocalegetLocale()
Returns the locale.
abstract voidparse(XMLInputSource inputSource)
Parse an XML document.
protected voidreset()
reset all components before parsing and namespace context
voidsetDocumentHandler(XMLDocumentHandler documentHandler)
Sets the document handler on the last component in the pipeline to receive information about the document.
voidsetDTDContentModelHandler(XMLDTDContentModelHandler handler)
Sets the DTD content model handler.
voidsetDTDHandler(XMLDTDHandler dtdHandler)
Sets the DTD handler.
voidsetEntityResolver(XMLEntityResolver resolver)
Sets the resolver used to resolve external entities.
voidsetErrorHandler(XMLErrorHandler errorHandler)
Allow an application to register an error event handler.
voidsetFeature(String featureId, boolean state)
Set the state of a feature.
voidsetLocale(Locale locale)
Set the locale to use for messages.
voidsetProperty(String propertyId, Object value)
setProperty

Field Detail

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.

fComponents

protected ArrayList fComponents
Components.

fDocumentHandler

protected XMLDocumentHandler fDocumentHandler
The document handler.

fDTDContentModelHandler

protected XMLDTDContentModelHandler fDTDContentModelHandler
The DTD content model handler.

fDTDHandler

protected XMLDTDHandler fDTDHandler
The DTD handler.

fLastComponent

protected XMLDocumentSource fLastComponent
Last component in the document pipeline

fLocale

protected Locale fLocale
Locale.

fSymbolTable

protected SymbolTable fSymbolTable
Symbol table.

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.

Constructor Detail

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, 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 Detail

addComponent

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.

checkFeature

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.

checkProperty

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: org.apache.xerces.xni.parser.XMLConfigurationException If the requested feature is not known or supported.

getDocumentHandler

public XMLDocumentHandler getDocumentHandler()
Returns the registered document handler.

getDTDContentModelHandler

public XMLDTDContentModelHandler getDTDContentModelHandler()
Returns the registered DTD content model handler.

getDTDHandler

public XMLDTDHandler getDTDHandler()
Returns the registered DTD handler.

getEntityResolver

public XMLEntityResolver getEntityResolver()
Return the current entity resolver.

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

See Also: BasicParserConfiguration

getErrorHandler

public XMLErrorHandler getErrorHandler()
Return the current error handler.

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

See Also: BasicParserConfiguration

getLocale

public Locale getLocale()
Returns the locale.

parse

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.

reset

protected void reset()
reset all components before parsing and namespace context

setDocumentHandler

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.

setDTDContentModelHandler

public void setDTDContentModelHandler(XMLDTDContentModelHandler handler)
Sets the DTD content model handler.

Parameters: handler The DTD content model handler.

setDTDHandler

public void setDTDHandler(XMLDTDHandler dtdHandler)
Sets the DTD handler.

Parameters: dtdHandler The DTD handler.

setEntityResolver

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.

setErrorHandler

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: java.lang.NullPointerException If the handler argument is null.

See Also: BasicParserConfiguration

setFeature

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: org.apache.xerces.xni.parser.XMLConfigurationException If the requested feature is not known.

setLocale

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.

setProperty

public void setProperty(String propertyId, Object value)
setProperty

Parameters: propertyId value

Copyright © 1999-2005 Apache XML Project. All Rights Reserved.