org.apache.xerces.parsers

## Class XMLGrammarCachingConfiguration

- java.lang.Object
- - org.apache.xerces.util.ParserConfigurationSettings
  - - org.apache.xerces.parsers.XML11Configuration
    - - org.apache.xerces.parsers.XIncludeAwareParserConfiguration
      - - org.apache.xerces.parsers.XMLGrammarCachingConfiguration

- All Implemented Interfaces:
    XML11Configurable, org.apache.xerces.xni.parser.XMLComponentManager, org.apache.xerces.xni.parser.XMLParserConfiguration, 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 447239 2006-09-18 05:08:26Z mrglavas $
  Author:
    Neil Graham, IBM

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `BIG_PRIME`
    `protected XMLDTDLoader` | `fDTDLoader`
    `protected XMLSchemaLoader` | `fSchemaLoader`
    `protected static XMLGrammarPoolImpl` | `fStaticGrammarPool`
    `protected static SynchronizedSymbolTable` | `fStaticSymbolTable`
    `protected static java.lang.String` | `SCHEMA_FULL_CHECKING`

    - ### 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, ASSERT_COMMENT_PI_CHECKING, CONTINUE_AFTER_FATAL_ERROR, CTA_FULL_XPATH_CHECKING, 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, TYPE_ALTERNATIVES_CHECKING, 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

    Constructors
    Constructor and Description
    `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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `checkFeature(java.lang.String featureId)` Check a feature.
    `protected void` | `checkProperty(java.lang.String propertyId)` Check a property.
    `void` | `clearGrammarPool()`
    `void` | `lockGrammarPool()`
    `org.apache.xerces.xni.grammars.Grammar` | `parseGrammar(java.lang.String type, java.lang.String uri)` Parse a grammar from a location identified by an URI.
    `org.apache.xerces.xni.grammars.Grammar` | `parseGrammar(java.lang.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, 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 Detail

    - #### BIG_PRIME

          public static final int BIG_PRIME

      See Also:
        Constant Field Values

    - #### fStaticSymbolTable

          protected static final SynchronizedSymbolTable fStaticSymbolTable

    - #### fStaticGrammarPool

          protected static final XMLGrammarPoolImpl fStaticGrammarPool

    - #### SCHEMA_FULL_CHECKING

          protected static final java.lang.String SCHEMA_FULL_CHECKING

      See Also:
        Constant Field Values

    - #### fSchemaLoader

          protected XMLSchemaLoader fSchemaLoader

    - #### fDTDLoader

          protected XMLDTDLoader fDTDLoader

  - ### Constructor Detail

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

    - #### lockGrammarPool

          public void lockGrammarPool()

    - #### clearGrammarPool

          public void clearGrammarPool()

    - #### unlockGrammarPool

          public void unlockGrammarPool()

    - #### parseGrammar

          public org.apache.xerces.xni.grammars.Grammar parseGrammar(java.lang.String type,
                                                            java.lang.String uri)
                                                              throws org.apache.xerces.xni.XNIException,
                                                                     java.io.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
        `java.io.IOException` - thrown if an error is encountered in reading the file

    - #### parseGrammar

          public org.apache.xerces.xni.grammars.Grammar parseGrammar(java.lang.String type,
                                                            org.apache.xerces.xni.parser.XMLInputSource is)
                                                              throws org.apache.xerces.xni.XNIException,
                                                                     java.io.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
        `java.io.IOException` - thrown if an error is encountered in reading the file

    - #### checkFeature

          protected void checkFeature(java.lang.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 class `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(java.lang.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 class `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.

Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.