Class DTDConfiguration
- java.lang.Object
-
- org.smooks.engine.delivery.sax.ng.org.apache.xerces.util.ParserConfigurationSettings
-
- org.smooks.engine.delivery.sax.ng.org.apache.xerces.parsers.BasicParserConfiguration
-
- org.smooks.engine.delivery.sax.ng.org.apache.xerces.parsers.DTDConfiguration
-
- All Implemented Interfaces:
XMLComponentManager
,XMLParserConfiguration
,XMLPullParserConfiguration
- Direct Known Subclasses:
StandardParserConfiguration
public class DTDConfiguration extends BasicParserConfiguration implements XMLPullParserConfiguration
This is the DTD-only parser configuration. It extends the basic configuration with a standard set of parser components appropriate to DTD-centric validation. Since the Xerces2 reference implementation document and DTD scanner implementations are capable of acting as pull parsers, this configuration implements theXMLPullParserConfiguration
interface.In addition to the features and properties recognized by the base parser configuration, this class recognizes these additional features and properties:
- Features
- http://apache.org/xml/features/validation/warn-on-duplicate-attdef
- http://apache.org/xml/features/validation/warn-on-undeclared-elemdef
- http://apache.org/xml/features/allow-java-encodings
- http://apache.org/xml/features/continue-after-fatal-error
- http://apache.org/xml/features/load-external-dtd
- Properties
- http://apache.org/xml/properties/internal/error-reporter
- http://apache.org/xml/properties/internal/entity-manager
- http://apache.org/xml/properties/internal/document-scanner
- http://apache.org/xml/properties/internal/dtd-scanner
- http://apache.org/xml/properties/internal/grammar-pool
- http://apache.org/xml/properties/internal/validator/dtd
- http://apache.org/xml/properties/internal/datatype-validator-factory
- Version:
- $Id$
- Author:
- Arnaud Le Hors, IBM, Andy Clark, IBM, Neil Graham, IBM
-
-
Field Summary
Fields Modifier and Type Field Description protected static String
ALLOW_JAVA_ENCODINGS
Feature identifier: allow Java encodings.protected static String
CONTINUE_AFTER_FATAL_ERROR
Feature identifier: continue after fatal error.protected static String
DATATYPE_VALIDATOR_FACTORY
Property identifier: datatype validator factory.protected static String
DOCUMENT_SCANNER
Property identifier document scanner:protected static String
DTD_PROCESSOR
Property identifier: DTD loader.protected static String
DTD_SCANNER
Property identifier: DTD scanner.protected static String
DTD_VALIDATOR
Property identifier: DTD validator.protected static String
ENTITY_MANAGER
Property identifier: entity manager.protected static String
ERROR_REPORTER
Property identifier: error reporter.protected DTDDVFactory
fDatatypeValidatorFactory
Datatype validator factory.protected XMLDTDProcessor
fDTDProcessor
DTD Processor .protected XMLDTDScanner
fDTDScanner
DTD scanner.protected XMLDTDValidator
fDTDValidator
DTD Validator.protected XMLEntityManager
fEntityManager
Entity manager.protected XMLErrorReporter
fErrorReporter
Error reporter.protected XMLGrammarPool
fGrammarPool
Grammar pool.protected XMLInputSource
fInputSource
Input Sourceprotected XMLLocator
fLocator
Locatorprotected XMLNamespaceBinder
fNamespaceBinder
Namespace binder.protected boolean
fParseInProgress
True if a parse is in progress.protected XMLDocumentScanner
fScanner
Document scanner.protected ValidationManager
fValidationManager
protected static String
JAXP_SCHEMA_LANGUAGE
Property identifier: JAXP schema language / DOM schema-type.protected static String
JAXP_SCHEMA_SOURCE
Property identifier: JAXP schema source/ DOM schema-location.protected static String
LOAD_EXTERNAL_DTD
Feature identifier: load external DTD.protected static String
LOCALE
Property identifier: locale.protected static String
NAMESPACE_BINDER
Property identifier: namespace binder.protected static String
NOTIFY_BUILTIN_REFS
Feature identifier: notify built-in refereces.protected static String
NOTIFY_CHAR_REFS
Feature identifier: notify character refereces.protected static boolean
PRINT_EXCEPTION_STACK_TRACE
Set to true and recompile to print exception stack trace.protected static String
VALIDATION_MANAGER
protected static String
WARN_ON_DUPLICATE_ATTDEF
Feature identifier: warn on duplicate attribute definition.protected static String
WARN_ON_DUPLICATE_ENTITYDEF
Feature identifier: warn on duplicate entity definition.protected static String
WARN_ON_UNDECLARED_ELEMDEF
Feature identifier: warn on undeclared element definition.protected static String
XMLGRAMMAR_POOL
Property identifier: grammar pool.-
Fields inherited from class org.smooks.engine.delivery.sax.ng.org.apache.xerces.parsers.BasicParserConfiguration
ENTITY_RESOLVER, ERROR_HANDLER, EXTERNAL_GENERAL_ENTITIES, EXTERNAL_PARAMETER_ENTITIES, fComponents, fDocumentHandler, fDTDContentModelHandler, fDTDHandler, fLastComponent, fLocale, fSymbolTable, NAMESPACES, SYMBOL_TABLE, VALIDATION, XML_STRING
-
Fields inherited from class org.smooks.engine.delivery.sax.ng.org.apache.xerces.util.ParserConfigurationSettings
fFeatures, fParentSettings, fProperties, fRecognizedFeatures, fRecognizedProperties, PARSER_SETTINGS
-
-
Constructor Summary
Constructors Constructor Description DTDConfiguration()
Default constructor.DTDConfiguration(SymbolTable symbolTable)
Constructs a parser configuration using the specified symbol table.DTDConfiguration(SymbolTable symbolTable, XMLGrammarPool grammarPool)
Constructs a parser configuration using the specified symbol table and grammar pool.DTDConfiguration(SymbolTable symbolTable, XMLGrammarPool grammarPool, XMLComponentManager parentSettings)
Constructs a parser configuration using the specified symbol table, grammar pool, and parent settings.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkFeature(String featureId)
Check a feature.protected void
checkProperty(String propertyId)
Check a property.void
cleanup()
If the application decides to terminate parsing before the xml document is fully parsed, the application should call this method to free any resource allocated during parsing.protected void
configureDTDPipeline()
protected void
configurePipeline()
Configures the pipeline.protected DTDDVFactory
createDatatypeValidatorFactory()
Create a datatype validator factory.protected XMLDocumentScanner
createDocumentScanner()
Create a document scanner.protected XMLDTDProcessor
createDTDProcessor()
Create a DTD loader .protected XMLDTDScanner
createDTDScanner()
Create a DTD scanner.protected XMLDTDValidator
createDTDValidator()
Create a DTD validator.protected XMLEntityManager
createEntityManager()
Creates an entity manager.protected XMLErrorReporter
createErrorReporter()
Creates an error reporter.protected XMLNamespaceBinder
createNamespaceBinder()
Create a namespace binder.protected ValidationManager
createValidationManager()
Object
getProperty(String propertyId)
Returns the value of a property.boolean
parse(boolean complete)
Parses the document in a pull parsing fashion.void
parse(XMLInputSource source)
Parses the specified input source.protected void
reset()
Reset all components before parsing.void
setInputSource(XMLInputSource inputSource)
Sets the input source for the document to parse.void
setLocale(Locale locale)
Set the locale to use for messages.void
setProperty(String propertyId, Object value)
setProperty-
Methods inherited from class org.smooks.engine.delivery.sax.ng.org.apache.xerces.parsers.BasicParserConfiguration
addComponent, getDocumentHandler, getDTDContentModelHandler, getDTDHandler, getEntityResolver, getErrorHandler, getLocale, setDocumentHandler, setDTDContentModelHandler, setDTDHandler, setEntityResolver, setErrorHandler, setFeature
-
Methods inherited from class org.smooks.engine.delivery.sax.ng.org.apache.xerces.util.ParserConfigurationSettings
addRecognizedFeatures, addRecognizedProperties, getFeature
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.parser.XMLParserConfiguration
addRecognizedFeatures, addRecognizedProperties, getDocumentHandler, getDTDContentModelHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getLocale, setDocumentHandler, setDTDContentModelHandler, setDTDHandler, setEntityResolver, setErrorHandler, setFeature
-
-
-
-
Field Detail
-
WARN_ON_DUPLICATE_ATTDEF
protected static final String WARN_ON_DUPLICATE_ATTDEF
Feature identifier: warn on duplicate attribute definition.- See Also:
- Constant Field Values
-
WARN_ON_DUPLICATE_ENTITYDEF
protected static final String WARN_ON_DUPLICATE_ENTITYDEF
Feature identifier: warn on duplicate entity definition.- See Also:
- Constant Field Values
-
WARN_ON_UNDECLARED_ELEMDEF
protected static final String WARN_ON_UNDECLARED_ELEMDEF
Feature identifier: warn on undeclared element definition.- See Also:
- Constant Field Values
-
ALLOW_JAVA_ENCODINGS
protected static final String ALLOW_JAVA_ENCODINGS
Feature identifier: allow Java encodings.- See Also:
- Constant Field Values
-
CONTINUE_AFTER_FATAL_ERROR
protected static final String CONTINUE_AFTER_FATAL_ERROR
Feature identifier: continue after fatal error.- See Also:
- Constant Field Values
-
LOAD_EXTERNAL_DTD
protected static final String LOAD_EXTERNAL_DTD
Feature identifier: load external DTD.- See Also:
- Constant Field Values
-
NOTIFY_BUILTIN_REFS
protected static final String NOTIFY_BUILTIN_REFS
Feature identifier: notify built-in refereces.- See Also:
- Constant Field Values
-
NOTIFY_CHAR_REFS
protected static final String NOTIFY_CHAR_REFS
Feature identifier: notify character refereces.- See Also:
- Constant Field Values
-
ERROR_REPORTER
protected static final String ERROR_REPORTER
Property identifier: error reporter.- See Also:
- Constant Field Values
-
ENTITY_MANAGER
protected static final String ENTITY_MANAGER
Property identifier: entity manager.- See Also:
- Constant Field Values
-
DOCUMENT_SCANNER
protected static final String DOCUMENT_SCANNER
Property identifier document scanner:- See Also:
- Constant Field Values
-
DTD_SCANNER
protected static final String DTD_SCANNER
Property identifier: DTD scanner.- See Also:
- Constant Field Values
-
XMLGRAMMAR_POOL
protected static final String XMLGRAMMAR_POOL
Property identifier: grammar pool.- See Also:
- Constant Field Values
-
DTD_PROCESSOR
protected static final String DTD_PROCESSOR
Property identifier: DTD loader.- See Also:
- Constant Field Values
-
DTD_VALIDATOR
protected static final String DTD_VALIDATOR
Property identifier: DTD validator.- See Also:
- Constant Field Values
-
NAMESPACE_BINDER
protected static final String NAMESPACE_BINDER
Property identifier: namespace binder.- See Also:
- Constant Field Values
-
DATATYPE_VALIDATOR_FACTORY
protected static final String DATATYPE_VALIDATOR_FACTORY
Property identifier: datatype validator factory.- See Also:
- Constant Field Values
-
VALIDATION_MANAGER
protected static final String VALIDATION_MANAGER
- See Also:
- Constant Field Values
-
JAXP_SCHEMA_LANGUAGE
protected static final String JAXP_SCHEMA_LANGUAGE
Property identifier: JAXP schema language / DOM schema-type.- See Also:
- Constant Field Values
-
JAXP_SCHEMA_SOURCE
protected static final String JAXP_SCHEMA_SOURCE
Property identifier: JAXP schema source/ DOM schema-location.- See Also:
- Constant Field Values
-
LOCALE
protected static final String LOCALE
Property identifier: locale.- See Also:
- Constant Field Values
-
PRINT_EXCEPTION_STACK_TRACE
protected static final boolean PRINT_EXCEPTION_STACK_TRACE
Set to true and recompile to print exception stack trace.- See Also:
- Constant Field Values
-
fGrammarPool
protected XMLGrammarPool fGrammarPool
Grammar pool.
-
fDatatypeValidatorFactory
protected DTDDVFactory fDatatypeValidatorFactory
Datatype validator factory.
-
fErrorReporter
protected XMLErrorReporter fErrorReporter
Error reporter.
-
fEntityManager
protected XMLEntityManager fEntityManager
Entity manager.
-
fScanner
protected XMLDocumentScanner fScanner
Document scanner.
-
fInputSource
protected XMLInputSource fInputSource
Input Source
-
fDTDScanner
protected XMLDTDScanner fDTDScanner
DTD scanner.
-
fDTDProcessor
protected XMLDTDProcessor fDTDProcessor
DTD Processor .
-
fDTDValidator
protected XMLDTDValidator fDTDValidator
DTD Validator.
-
fNamespaceBinder
protected XMLNamespaceBinder fNamespaceBinder
Namespace binder.
-
fValidationManager
protected ValidationManager fValidationManager
-
fLocator
protected XMLLocator fLocator
Locator
-
fParseInProgress
protected boolean fParseInProgress
True if a parse is in progress. This state is needed because some features/properties cannot be set while parsing (e.g. validation and namespaces).
-
-
Constructor Detail
-
DTDConfiguration
public DTDConfiguration()
Default constructor.
-
DTDConfiguration
public DTDConfiguration(SymbolTable symbolTable)
Constructs a parser configuration using the specified symbol table.- Parameters:
symbolTable
- The symbol table to use.
-
DTDConfiguration
public DTDConfiguration(SymbolTable symbolTable, XMLGrammarPool grammarPool)
Constructs a parser configuration using the specified symbol table and grammar pool.REVISIT: Grammar pool will be updated when the new validation engine is implemented.
- Parameters:
symbolTable
- The symbol table to use.grammarPool
- The grammar pool to use.
-
DTDConfiguration
public DTDConfiguration(SymbolTable symbolTable, XMLGrammarPool grammarPool, XMLComponentManager parentSettings)
Constructs a parser configuration using the specified symbol table, grammar pool, and parent settings.REVISIT: Grammar pool will be updated when the new validation engine is implemented.
- Parameters:
symbolTable
- The symbol table to use.grammarPool
- The grammar pool to use.parentSettings
- The parent settings.
-
-
Method Detail
-
getProperty
public Object getProperty(String propertyId) throws XMLConfigurationException
Description copied from class:ParserConfigurationSettings
Returns the value of a property.- Specified by:
getProperty
in interfaceXMLComponentManager
- Specified by:
getProperty
in interfaceXMLParserConfiguration
- Overrides:
getProperty
in classParserConfigurationSettings
- Parameters:
propertyId
- The property identifier.- Returns:
- the value of the property
- Throws:
XMLConfigurationException
- Thrown for configuration error. In general, components should only throw this exception if it is really a critical error.
-
setProperty
public void setProperty(String propertyId, Object value) throws XMLConfigurationException
Description copied from class:BasicParserConfiguration
setProperty- Specified by:
setProperty
in interfaceXMLParserConfiguration
- Overrides:
setProperty
in classBasicParserConfiguration
- Parameters:
propertyId
- The property identifier.value
- The value of the property.- Throws:
XMLConfigurationException
- If the requested feature is not known.
-
setLocale
public void setLocale(Locale locale) throws XNIException
Set the locale to use for messages.- Specified by:
setLocale
in interfaceXMLParserConfiguration
- Overrides:
setLocale
in classBasicParserConfiguration
- Parameters:
locale
- The locale object to use for localization of messages.- Throws:
XNIException
- Thrown if the parser does not support the specified locale.
-
setInputSource
public void setInputSource(XMLInputSource inputSource) throws XMLConfigurationException, IOException
Sets the input source for the document to parse.- Specified by:
setInputSource
in interfaceXMLPullParserConfiguration
- Parameters:
inputSource
- The document's input source.- Throws:
XMLConfigurationException
- Thrown if there is a configuration error when initializing the parser.IOException
- Thrown on I/O error.- See Also:
parse(boolean)
-
parse
public boolean parse(boolean complete) throws XNIException, IOException
Parses the document in a pull parsing fashion.- Specified by:
parse
in interfaceXMLPullParserConfiguration
- Parameters:
complete
- True if the pull parser should parse the remaining document completely.- Returns:
- True if there is more document to parse.
- 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.- See Also:
setInputSource(org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.parser.XMLInputSource)
-
cleanup
public void cleanup()
If the application decides to terminate parsing before the xml document is fully parsed, the application should call this method to free any resource allocated during parsing. For example, close all opened streams.- Specified by:
cleanup
in interfaceXMLPullParserConfiguration
-
parse
public void parse(XMLInputSource source) throws XNIException, IOException
Parses the specified input source.- Specified by:
parse
in interfaceXMLParserConfiguration
- Specified by:
parse
in classBasicParserConfiguration
- Parameters:
source
- The input source.- Throws:
XNIException
- Throws exception on XNI error.IOException
- Throws exception on i/o error.
-
reset
protected void reset() throws XNIException
Reset all components before parsing.- Overrides:
reset
in classBasicParserConfiguration
- Throws:
XNIException
- Thrown if an error occurs during initialization.
-
configurePipeline
protected void configurePipeline()
Configures the pipeline.
-
configureDTDPipeline
protected void configureDTDPipeline()
-
checkFeature
protected void checkFeature(String featureId) throws XMLConfigurationException
Check a feature. If feature is know and supported, this method simply returns. Otherwise, the appropriate exception is thrown.- Overrides:
checkFeature
in classBasicParserConfiguration
- 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) throws XMLConfigurationException
Check a property. If the property is know and supported, this method simply returns. Otherwise, the appropriate exception is thrown.- Overrides:
checkProperty
in classBasicParserConfiguration
- Parameters:
propertyId
- The unique identifier (URI) of the property being set.- Throws:
XMLConfigurationException
- Thrown for configuration error. In general, components should only throw this exception if it is really a critical error.
-
createEntityManager
protected XMLEntityManager createEntityManager()
Creates an entity manager.
-
createErrorReporter
protected XMLErrorReporter createErrorReporter()
Creates an error reporter.
-
createDocumentScanner
protected XMLDocumentScanner createDocumentScanner()
Create a document scanner.
-
createDTDScanner
protected XMLDTDScanner createDTDScanner()
Create a DTD scanner.
-
createDTDProcessor
protected XMLDTDProcessor createDTDProcessor()
Create a DTD loader .
-
createDTDValidator
protected XMLDTDValidator createDTDValidator()
Create a DTD validator.
-
createNamespaceBinder
protected XMLNamespaceBinder createNamespaceBinder()
Create a namespace binder.
-
createDatatypeValidatorFactory
protected DTDDVFactory createDatatypeValidatorFactory()
Create a datatype validator factory.
-
createValidationManager
protected ValidationManager createValidationManager()
-
-