Class XMLGrammarCachingConfiguration
- All Implemented Interfaces:
XML11Configurable
,org.apache.xerces.xni.parser.XMLComponentManager
,org.apache.xerces.xni.parser.XMLParserConfiguration
,org.apache.xerces.xni.parser.XMLPullParserConfiguration
This configuration provides a generic way of using Xerces's grammar caching facilities. It extends the XIncludeAwareParserConfiguration and thus may validate documents according to XML schemas or DTD's. It also allows the user to preparse a grammar, and to lock the grammar pool implementation such that no more grammars will be added.
Using the org.apache.xerces.xni.parser property, an application may instantiate a Xerces SAX or DOM parser with this configuration. When invoked in this manner, the default behaviour will be elicited; to use this configuration's specific facilities, the user will need to reference it directly.
In addition to the features and properties recognized by the base parser configuration, this class recognizes these additional features and properties:
- Version:
- $Id: XMLGrammarCachingConfiguration.java 447239 2006-09-18 05:08:26Z mrglavas $
- Author:
- Neil Graham, IBM
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
protected XMLDTDLoader
protected XMLSchemaLoader
protected static final XMLGrammarPoolImpl
protected static final SynchronizedSymbolTable
protected static final String
Fields inherited from class org.apache.xerces.parsers.XIncludeAwareParserConfiguration
ALLOW_UE_AND_NOTATION_EVENTS, fCurrentNSContext, fNonXIncludeNSContext, fXIncludeEnabled, fXIncludeHandler, fXIncludeNSContext, NAMESPACE_CONTEXT, XINCLUDE_FEATURE, XINCLUDE_FIXUP_BASE_URIS, XINCLUDE_FIXUP_LANGUAGE, XINCLUDE_HANDLER
Fields inherited from class org.apache.xerces.parsers.XML11Configuration
ALLOW_JAVA_ENCODINGS, CONTINUE_AFTER_FATAL_ERROR, DATATYPE_VALIDATOR_FACTORY, DOCUMENT_SCANNER, DTD_PROCESSOR, DTD_SCANNER, DTD_VALIDATOR, ENTITY_MANAGER, ENTITY_RESOLVER, ERROR_HANDLER, ERROR_REPORTER, EXTERNAL_GENERAL_ENTITIES, EXTERNAL_PARAMETER_ENTITIES, fCommonComponents, fComponents, fConfigUpdated, fCurrentDTDScanner, fCurrentDVFactory, fCurrentScanner, fDatatypeValidatorFactory, fDocumentHandler, fDTDContentModelHandler, fDTDHandler, fDTDProcessor, fDTDScanner, fDTDValidator, fEntityManager, fErrorReporter, fGrammarPool, fInputSource, fLastComponent, fLocale, fNamespaceScanner, fNonNSDTDValidator, fNonNSScanner, fParseInProgress, fSchemaValidator, fSymbolTable, fValidationManager, fVersionDetector, fXML11Components, fXML11DatatypeFactory, fXML11DocScanner, fXML11DTDProcessor, fXML11DTDScanner, fXML11DTDValidator, fXML11NSDocScanner, fXML11NSDTDValidator, GENERATE_SYNTHETIC_ANNOTATIONS, HONOUR_ALL_SCHEMALOCATIONS, ID_IDREF_CHECKING, IDENTITY_CONSTRAINT_CHECKING, IGNORE_XSI_TYPE, JAXP_SCHEMA_LANGUAGE, JAXP_SCHEMA_SOURCE, LOAD_EXTERNAL_DTD, LOCALE, NAMESPACE_BINDER, NAMESPACE_GROWTH, NAMESPACES, NORMALIZE_DATA, NOTIFY_BUILTIN_REFS, NOTIFY_CHAR_REFS, PRINT_EXCEPTION_STACK_TRACE, ROOT_ELEMENT_DECL, ROOT_TYPE_DEF, SCHEMA_AUGMENT_PSVI, SCHEMA_DV_FACTORY, SCHEMA_ELEMENT_DEFAULT, SCHEMA_LOCATION, SCHEMA_NONS_LOCATION, SCHEMA_VALIDATOR, SYMBOL_TABLE, TOLERATE_DUPLICATES, UNPARSED_ENTITY_CHECKING, USE_GRAMMAR_POOL_ONLY, VALIDATE_ANNOTATIONS, VALIDATION, VALIDATION_MANAGER, WARN_ON_DUPLICATE_ATTDEF, WARN_ON_DUPLICATE_ENTITYDEF, WARN_ON_UNDECLARED_ELEMDEF, XML_STRING, XML11_DATATYPE_VALIDATOR_FACTORY, XMLGRAMMAR_POOL, XMLSCHEMA_FULL_CHECKING, XMLSCHEMA_VALIDATION
Fields inherited from class org.apache.xerces.util.ParserConfigurationSettings
fFeatures, fParentSettings, fProperties, fRecognizedFeatures, fRecognizedProperties, PARSER_SETTINGS
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.XMLGrammarCachingConfiguration
(SymbolTable symbolTable) Constructs a parser configuration using the specified symbol table.XMLGrammarCachingConfiguration
(SymbolTable symbolTable, org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool) Constructs a parser configuration using the specified symbol table and grammar pool.XMLGrammarCachingConfiguration
(SymbolTable symbolTable, org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool, org.apache.xerces.xni.parser.XMLComponentManager parentSettings) Constructs a parser configuration using the specified symbol table, grammar pool, and parent settings. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
checkFeature
(String featureId) Check a feature.protected void
checkProperty
(String propertyId) Check a property.void
void
org.apache.xerces.xni.grammars.Grammar
parseGrammar
(String type, String uri) Parse a grammar from a location identified by an URI.org.apache.xerces.xni.grammars.Grammar
parseGrammar
(String type, org.apache.xerces.xni.parser.XMLInputSource is) Parse a grammar from a location identified by an XMLInputSource.void
Methods inherited from class org.apache.xerces.parsers.XIncludeAwareParserConfiguration
configurePipeline, configureXML11Pipeline, getFeature, setFeature
Methods inherited from class org.apache.xerces.parsers.XML11Configuration
addCommonComponent, addComponent, addRecognizedParamsAndSetDefaults, addXML11Component, cleanup, getDocumentHandler, getDTDContentModelHandler, getDTDHandler, getEntityResolver, getErrorHandler, getLocale, getProperty, parse, parse, reset, resetCommon, resetXML11, setDocumentHandler, setDTDContentModelHandler, setDTDHandler, setEntityResolver, setErrorHandler, setInputSource, setLocale, setProperty
Methods inherited from class org.apache.xerces.util.ParserConfigurationSettings
addRecognizedFeatures, addRecognizedProperties
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
-
Field Details
-
BIG_PRIME
public static final int BIG_PRIME- See Also:
-
fStaticSymbolTable
-
fStaticGrammarPool
-
SCHEMA_FULL_CHECKING
- See Also:
-
fSchemaLoader
-
fDTDLoader
-
-
Constructor Details
-
XMLGrammarCachingConfiguration
public XMLGrammarCachingConfiguration()Default constructor. -
XMLGrammarCachingConfiguration
Constructs a parser configuration using the specified symbol table.- Parameters:
symbolTable
- The symbol table to use.
-
XMLGrammarCachingConfiguration
public XMLGrammarCachingConfiguration(SymbolTable symbolTable, org.apache.xerces.xni.grammars.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.
-
XMLGrammarCachingConfiguration
public XMLGrammarCachingConfiguration(SymbolTable symbolTable, org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool, org.apache.xerces.xni.parser.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 Details
-
lockGrammarPool
public void lockGrammarPool() -
clearGrammarPool
public void clearGrammarPool() -
unlockGrammarPool
public void unlockGrammarPool() -
parseGrammar
public org.apache.xerces.xni.grammars.Grammar parseGrammar(String type, String uri) throws org.apache.xerces.xni.XNIException, IOException Parse a grammar from a location identified by an URI. This method also adds this grammar to the XMLGrammarPool- Parameters:
type
- The type of the grammar to be constructeduri
- The location of the grammar to be constructed. The parser will not expand this URI or make it available to the EntityResolver- Returns:
- The newly created
Grammar
. - Throws:
org.apache.xerces.xni.XNIException
- thrown on an error in grammar constructionIOException
- thrown if an error is encountered in reading the file
-
parseGrammar
public org.apache.xerces.xni.grammars.Grammar parseGrammar(String type, org.apache.xerces.xni.parser.XMLInputSource is) throws org.apache.xerces.xni.XNIException, IOException Parse a grammar from a location identified by an XMLInputSource. This method also adds this grammar to the XMLGrammarPool- Parameters:
type
- The type of the grammar to be constructedis
- The XMLInputSource containing this grammar's information If a URI is included in the systemId field, the parser will not expand this URI or make it available to the EntityResolver- Returns:
- The newly created
Grammar
. - Throws:
org.apache.xerces.xni.XNIException
- thrown on an error in grammar constructionIOException
- thrown if an error is encountered in reading the file
-
checkFeature
protected void checkFeature(String featureId) throws org.apache.xerces.xni.parser.XMLConfigurationException Check a feature. If feature is known and supported, this method simply returns. Otherwise, the appropriate exception is thrown.- Overrides:
checkFeature
in classXML11Configuration
- 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 classXML11Configuration
- Parameters:
propertyId
- The unique identifier (URI) of the property being set.- 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.
-