org.apache.xerces.parsers

## Class XMLGrammarPreparser

- java.lang.Object
- - org.apache.xerces.parsers.XMLGrammarPreparser

    public class XMLGrammarPreparser
    extends java.lang.Object

This class provides an easy way for a user to preparse grammars of various types. By default, it knows how to preparse external DTD's and schemas; it provides an easy way for user applications to register classes that know how to parse additional grammar types. By default, it does no grammar caching; but it provides ways for user applications to do so.

Version:
  $Id: XMLGrammarPreparser.java 713638 2008-11-13 04:42:18Z mrglavas $
Author:
  Neil Graham, IBM

### Field Summary

Fields
`protected static java.lang.String` `ENTITY_RESOLVER` Property identifier: entity resolver.
`protected static java.lang.String` `ERROR_HANDLER` Property identifier: error handler.
`protected static java.lang.String` `ERROR_REPORTER` Property identifier: error reporter.
`protected org.apache.xerces.xni.parser.XMLEntityResolver` `fEntityResolver`
`protected XMLErrorReporter` `fErrorReporter`
`protected org.apache.xerces.xni.grammars.XMLGrammarPool` `fGrammarPool`
`protected java.util.Locale` `fLocale`
`protected SymbolTable` `fSymbolTable`
`protected static java.lang.String` `GRAMMAR_POOL` Property identifier: grammar pool .
`protected static java.lang.String` `SYMBOL_TABLE` Property identifier: symbol table.

### Constructor Summary

Constructors
Constructor and Description
`XMLGrammarPreparser()` Default constructor.
`XMLGrammarPreparser(SymbolTable symbolTable)` Constructs a preparser using the specified symbol table.

### Method Summary

All Methods Instance Methods Concrete Methods
`org.apache.xerces.xni.parser.XMLEntityResolver` `getEntityResolver()` Returns the registered entity resolver.
`org.apache.xerces.xni.parser.XMLErrorHandler` `getErrorHandler()` Returns the registered error handler.
`boolean` `getFeature(java.lang.String type, java.lang.String featureId)`
`org.apache.xerces.xni.grammars.XMLGrammarPool` `getGrammarPool()` Returns the registered grammar pool.
`org.apache.xerces.xni.grammars.XMLGrammarLoader` `getLoader(java.lang.String type)`
`java.util.Locale` `getLocale()` Return the Locale the XMLGrammarLoader is using.
`java.lang.Object` `getProperty(java.lang.String type, java.lang.String propertyId)`
`org.apache.xerces.xni.grammars.Grammar` `preparseGrammar(java.lang.String type, org.apache.xerces.xni.parser.XMLInputSource is)` Parse a grammar from a location identified by an XMLInputSource.
`boolean` `registerPreparser(java.lang.String grammarType, org.apache.xerces.xni.grammars.XMLGrammarLoader loader)`
`void` `setEntityResolver(org.apache.xerces.xni.parser.XMLEntityResolver entityResolver)` Sets the entity resolver.
`void` `setErrorHandler(org.apache.xerces.xni.parser.XMLErrorHandler errorHandler)` Sets the error handler.
`void` `setFeature(java.lang.String featureId, boolean value)`
`void` `setGrammarPool(org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool)` Sets the grammar pool.
`void` `setLocale(java.util.Locale locale)` Set the locale to use for messages.
`void` `setProperty(java.lang.String propId, java.lang.Object value)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### SYMBOL_TABLE

    protected static final java.lang.String SYMBOL_TABLE

Property identifier: symbol table.

See Also:
  Constant Field Values

#### ERROR_REPORTER

    protected static final java.lang.String ERROR_REPORTER

Property identifier: error reporter.

See Also:
  Constant Field Values

#### ERROR_HANDLER

    protected static final java.lang.String ERROR_HANDLER

Property identifier: error handler.

See Also:
  Constant Field Values

#### ENTITY_RESOLVER

    protected static final java.lang.String ENTITY_RESOLVER

Property identifier: entity resolver.

See Also:
  Constant Field Values

#### GRAMMAR_POOL

    protected static final java.lang.String GRAMMAR_POOL

Property identifier: grammar pool .

See Also:
  Constant Field Values

#### fSymbolTable

    protected final SymbolTable fSymbolTable

#### fErrorReporter

    protected final XMLErrorReporter fErrorReporter

#### fEntityResolver

    protected org.apache.xerces.xni.parser.XMLEntityResolver fEntityResolver

#### fGrammarPool

    protected org.apache.xerces.xni.grammars.XMLGrammarPool fGrammarPool

#### fLocale

    protected java.util.Locale fLocale

### Constructor Detail

#### XMLGrammarPreparser

    public XMLGrammarPreparser()

Default constructor.

#### XMLGrammarPreparser

    public XMLGrammarPreparser(SymbolTable symbolTable)

Constructs a preparser using the specified symbol table.

Parameters:
  `symbolTable` - The symbol table to use.

### Method Detail

#### registerPreparser

    public boolean registerPreparser(java.lang.String grammarType,
                                     org.apache.xerces.xni.grammars.XMLGrammarLoader loader)

#### preparseGrammar

    public org.apache.xerces.xni.grammars.Grammar preparseGrammar(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

#### setLocale

    public void setLocale(java.util.Locale locale)

Set the locale to use for messages.

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

    public java.util.Locale getLocale()

Return the Locale the XMLGrammarLoader is using.

#### setErrorHandler

    public void setErrorHandler(org.apache.xerces.xni.parser.XMLErrorHandler errorHandler)

Sets the error handler.

Parameters:
  `errorHandler` - The error handler.

#### getErrorHandler

    public org.apache.xerces.xni.parser.XMLErrorHandler getErrorHandler()

Returns the registered error handler.

#### setEntityResolver

    public void setEntityResolver(org.apache.xerces.xni.parser.XMLEntityResolver entityResolver)

Sets the entity resolver.

Parameters:
  `entityResolver` - The new entity resolver.

#### getEntityResolver

    public org.apache.xerces.xni.parser.XMLEntityResolver getEntityResolver()

Returns the registered entity resolver.

#### setGrammarPool

    public void setGrammarPool(org.apache.xerces.xni.grammars.XMLGrammarPool grammarPool)

Sets the grammar pool.

Parameters:
  `grammarPool` - The new grammar pool.

#### getGrammarPool

    public org.apache.xerces.xni.grammars.XMLGrammarPool getGrammarPool()

Returns the registered grammar pool.

#### getLoader

    public org.apache.xerces.xni.grammars.XMLGrammarLoader getLoader(java.lang.String type)

#### setFeature

    public void setFeature(java.lang.String featureId,
                           boolean value)

#### setProperty

    public void setProperty(java.lang.String propId,
                            java.lang.Object value)

#### getFeature

    public boolean getFeature(java.lang.String type,
                              java.lang.String featureId)

#### getProperty

    public java.lang.Object getProperty(java.lang.String type,
                                        java.lang.String propertyId)