org.apache.xerces.parsers

Class XMLGrammarCachingConfiguration

Implemented Interfaces:
XML11Configurable, org.apache.xerces.xni.parser.XMLComponentManager, org.apache.xerces.xni.parser.XMLPullParserConfiguration

public class XMLGrammarCachingConfiguration
extends XIncludeAwareParserConfiguration

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 320308 2005-05-04 04:23:46Z mrglavas $
Author:
Neil Graham, IBM

Field Summary

static int
BIG_PRIME
protected static String
SCHEMA_FULL_CHECKING
protected XMLDTDLoader
fDTDLoader
protected XMLSchemaLoader
fSchemaLoader
protected static XMLGrammarPoolImpl
fStaticGrammarPool
protected static SynchronizedSymbolTable
fStaticSymbolTable

Fields inherited from class org.apache.xerces.parsers.XIncludeAwareParserConfiguration

ALLOW_UE_AND_NOTATION_EVENTS, NAMESPACE_CONTEXT, XINCLUDE_FEATURE, XINCLUDE_FIXUP_BASE_URIS, XINCLUDE_FIXUP_LANGUAGE, XINCLUDE_HANDLER, fCurrentNSContext, fNonXIncludeNSContext, fXIncludeEnabled, fXIncludeHandler, fXIncludeNSContext

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, GENERATE_SYNTHETIC_ANNOTATIONS, HONOUR_ALL_SCHEMALOCATIONS, IDENTITY_CONSTRAINT_CHECKING, ID_IDREF_CHECKING, IGNORE_XSI_TYPE, JAXP_SCHEMA_LANGUAGE, JAXP_SCHEMA_SOURCE, LOAD_EXTERNAL_DTD, NAMESPACES, NAMESPACE_BINDER, NORMALIZE_DATA, NOTIFY_BUILTIN_REFS, NOTIFY_CHAR_REFS, PRINT_EXCEPTION_STACK_TRACE, ROOT_TYPE_DEF, SCHEMA_AUGMENT_PSVI, SCHEMA_ELEMENT_DEFAULT, SCHEMA_LOCATION, SCHEMA_NONS_LOCATION, SCHEMA_VALIDATOR, SYMBOL_TABLE, UNPARSED_ENTITY_CHECKING, USE_GRAMMAR_POOL_ONLY, VALIDATE_ANNOTATIONS, VALIDATION, VALIDATION_MANAGER, WARN_ON_DUPLICATE_ATTDEF, WARN_ON_DUPLICATE_ENTITYDEF, WARN_ON_UNDECLARED_ELEMDEF, XML11_DATATYPE_VALIDATOR_FACTORY, XMLGRAMMAR_POOL, XMLSCHEMA_FULL_CHECKING, XMLSCHEMA_VALIDATION, XML_STRING, fCommonComponents, fComponents, fConfigUpdated, fCurrentDTDScanner, fCurrentDVFactory, fCurrentScanner, fDTDContentModelHandler, fDTDHandler, fDTDProcessor, fDTDScanner, fDTDValidator, fDatatypeValidatorFactory, fDocumentHandler, fEntityManager, fErrorReporter, fGrammarPool, fInputSource, fLastComponent, fLocale, fLocator, fNamespaceScanner, fNonNSDTDValidator, fNonNSScanner, fParseInProgress, fSchemaValidator, fSymbolTable, fValidationManager, fVersionDetector, fXML11Components, fXML11DTDProcessor, fXML11DTDScanner, fXML11DTDValidator, fXML11DatatypeFactory, fXML11DocScanner, fXML11NSDTDValidator, fXML11NSDocScanner

Fields inherited from class org.apache.xerces.util.ParserConfigurationSettings

PARSER_SETTINGS, fFeatures, fParentSettings, fProperties, fRecognizedFeatures, fRecognizedProperties

Constructor Summary

XMLGrammarCachingConfiguration()
Default 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

protected void
checkFeature(String featureId)
Check a feature.
protected void
checkProperty(String propertyId)
Check a property.
void
clearGrammarPool()
void
lockGrammarPool()
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
unlockGrammarPool()

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, checkFeature, checkProperty, cleanup, configurePipeline, configureXML11Pipeline, getDTDContentModelHandler, getDTDHandler, getDocumentHandler, getEntityResolver, getErrorHandler, getFeature, getLocale, parse, parse, reset, resetCommon, resetXML11, setDTDContentModelHandler, setDTDHandler, setDocumentHandler, setEntityResolver, setErrorHandler, setFeature, setInputSource, setLocale, setProperty

Methods inherited from class org.apache.xerces.util.ParserConfigurationSettings

addRecognizedFeatures, addRecognizedProperties, checkFeature, checkProperty, getFeature, getProperty, setFeature, setProperty

Field Details

BIG_PRIME

public static final int BIG_PRIME
Field Value:
2039

SCHEMA_FULL_CHECKING

protected static final String SCHEMA_FULL_CHECKING

fDTDLoader

protected XMLDTDLoader fDTDLoader

fSchemaLoader

protected XMLSchemaLoader fSchemaLoader

fStaticGrammarPool

protected static final XMLGrammarPoolImpl fStaticGrammarPool

fStaticSymbolTable

protected static final SynchronizedSymbolTable fStaticSymbolTable

Constructor Details

XMLGrammarCachingConfiguration

public XMLGrammarCachingConfiguration()
Default constructor.

XMLGrammarCachingConfiguration

public XMLGrammarCachingConfiguration(SymbolTable symbolTable)
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

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 interface XML11Configuration
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 interface XML11Configuration
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.

clearGrammarPool

public void clearGrammarPool()

lockGrammarPool

public void lockGrammarPool()

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 constructed
uri - 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 construction

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 constructed
is - 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 construction

unlockGrammarPool

public void unlockGrammarPool()

Copyright B) 1999-2006 The Apache Software Foundation. All Rights Reserved.