Class BasicParserConfiguration
- All Implemented Interfaces:
org.apache.xerces.xni.parser.XMLComponentManager
,org.apache.xerces.xni.parser.XMLParserConfiguration
- Direct Known Subclasses:
DTDConfiguration
,NonValidatingConfiguration
,SchemaParsingConfig
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
- Version:
- $Id: BasicParserConfiguration.java 447239 2006-09-18 05:08:26Z mrglavas $
- Author:
- Arnaud Le Hors, IBM, Andy Clark, IBM
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final String
Property identifier: entity resolver.protected static final String
Property identifier: error handler.protected static final String
Feature identifier: external general entities.protected static final String
Feature identifier: external parameter entities.protected ArrayList
Components.protected org.apache.xerces.xni.XMLDocumentHandler
The document handler.protected org.apache.xerces.xni.XMLDTDContentModelHandler
The DTD content model handler.protected org.apache.xerces.xni.XMLDTDHandler
The DTD handler.protected org.apache.xerces.xni.parser.XMLDocumentSource
Last component in the document pipelineprotected Locale
Locale.protected SymbolTable
Symbol table.protected static final String
Feature identifier: namespaces.protected static final String
Property identifier: symbol table.protected static final String
Feature identifier: validation.protected static final String
Property identifier: xml string.Fields inherited from class org.apache.xerces.util.ParserConfigurationSettings
fFeatures, fParentSettings, fProperties, fRecognizedFeatures, fRecognizedProperties, PARSER_SETTINGS
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Default Constructor.protected
BasicParserConfiguration
(SymbolTable symbolTable) Constructs a parser configuration using the specified symbol table.protected
BasicParserConfiguration
(SymbolTable symbolTable, org.apache.xerces.xni.parser.XMLComponentManager parentSettings) Constructs a parser configuration using the specified symbol table and parent settings. -
Method Summary
Modifier and TypeMethodDescriptionprotected 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.XMLDocumentHandler
Returns the registered document handler.org.apache.xerces.xni.XMLDTDContentModelHandler
Returns the registered DTD content model handler.org.apache.xerces.xni.XMLDTDHandler
Returns the registered DTD handler.org.apache.xerces.xni.parser.XMLEntityResolver
Return the current entity resolver.org.apache.xerces.xni.parser.XMLErrorHandler
Return the current error handler.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 contextvoid
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
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
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
Set the locale to use for messages.void
setProperty
(String propertyId, Object value) setPropertyMethods inherited from class org.apache.xerces.util.ParserConfigurationSettings
addRecognizedFeatures, addRecognizedProperties, getFeature, getProperty
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.xerces.xni.parser.XMLParserConfiguration
addRecognizedFeatures, addRecognizedProperties, getFeature, getProperty
-
Field Details
-
VALIDATION
Feature identifier: validation.- See Also:
-
NAMESPACES
Feature identifier: namespaces.- See Also:
-
EXTERNAL_GENERAL_ENTITIES
Feature identifier: external general entities.- See Also:
-
EXTERNAL_PARAMETER_ENTITIES
Feature identifier: external parameter entities.- See Also:
-
XML_STRING
Property identifier: xml string.- See Also:
-
SYMBOL_TABLE
Property identifier: symbol table.- See Also:
-
ERROR_HANDLER
Property identifier: error handler.- See Also:
-
ENTITY_RESOLVER
Property identifier: entity resolver.- See Also:
-
fSymbolTable
Symbol table. -
fLocale
Locale. -
fComponents
Components. -
fDocumentHandler
protected org.apache.xerces.xni.XMLDocumentHandler fDocumentHandlerThe document handler. -
fDTDHandler
protected org.apache.xerces.xni.XMLDTDHandler fDTDHandlerThe DTD handler. -
fDTDContentModelHandler
protected org.apache.xerces.xni.XMLDTDContentModelHandler fDTDContentModelHandlerThe DTD content model handler. -
fLastComponent
protected org.apache.xerces.xni.parser.XMLDocumentSource fLastComponentLast component in the document pipeline
-
-
Constructor Details
-
BasicParserConfiguration
protected BasicParserConfiguration()Default Constructor. -
BasicParserConfiguration
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.
-
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 interfaceorg.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.IOException
- An IO exception from the parser, possibly from a byte stream or character stream supplied by the parser.
-
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 interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
- Parameters:
documentHandler
- The document handler.
-
getDocumentHandler
public org.apache.xerces.xni.XMLDocumentHandler getDocumentHandler()Returns the registered document handler.- Specified by:
getDocumentHandler
in interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
-
setDTDHandler
public void setDTDHandler(org.apache.xerces.xni.XMLDTDHandler dtdHandler) Sets the DTD handler.- Specified by:
setDTDHandler
in interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
- Parameters:
dtdHandler
- The DTD handler.
-
getDTDHandler
public org.apache.xerces.xni.XMLDTDHandler getDTDHandler()Returns the registered DTD handler.- Specified by:
getDTDHandler
in interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
-
setDTDContentModelHandler
public void setDTDContentModelHandler(org.apache.xerces.xni.XMLDTDContentModelHandler handler) Sets the DTD content model handler.- Specified by:
setDTDContentModelHandler
in interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
- Parameters:
handler
- The DTD content model handler.
-
getDTDContentModelHandler
public org.apache.xerces.xni.XMLDTDContentModelHandler getDTDContentModelHandler()Returns the registered DTD content model handler.- Specified by:
getDTDContentModelHandler
in interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
-
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 interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
- Parameters:
resolver
- The new entity resolver. Passing a null value will uninstall the currently installed resolver.
-
getEntityResolver
public org.apache.xerces.xni.parser.XMLEntityResolver getEntityResolver()Return the current entity resolver.- Specified by:
getEntityResolver
in interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
- Returns:
- The current entity resolver, or null if none has been registered.
- See Also:
-
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 interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
- Parameters:
errorHandler
- The error handler.- Throws:
NullPointerException
- If the handler argument is null.- See Also:
-
getErrorHandler
public org.apache.xerces.xni.parser.XMLErrorHandler getErrorHandler()Return the current error handler.- Specified by:
getErrorHandler
in interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
- Returns:
- The current error handler, or null if none has been registered.
- See Also:
-
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 interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
- Overrides:
setFeature
in classParserConfigurationSettings
- 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.
-
setProperty
public void setProperty(String propertyId, Object value) throws org.apache.xerces.xni.parser.XMLConfigurationException setProperty- Specified by:
setProperty
in interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
- Overrides:
setProperty
in classParserConfigurationSettings
- Parameters:
propertyId
-value
-- Throws:
org.apache.xerces.xni.parser.XMLConfigurationException
- If the requested feature is not known.
-
setLocale
Set the locale to use for messages.- Specified by:
setLocale
in interfaceorg.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.
-
getLocale
Returns the locale.- Specified by:
getLocale
in interfaceorg.apache.xerces.xni.parser.XMLParserConfiguration
-
reset
protected void reset() throws org.apache.xerces.xni.XNIExceptionreset all components before parsing and namespace context- Throws:
org.apache.xerces.xni.XNIException
-
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 classParserConfigurationSettings
- 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.
-
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 classParserConfigurationSettings
- 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.
-