Class XMLGrammarPreparser

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

public class XMLGrammarPreparser extends 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 Details

    • SYMBOL_TABLE

      protected static final String SYMBOL_TABLE
      Property identifier: symbol table.
      See Also:
    • ERROR_REPORTER

      protected static final String ERROR_REPORTER
      Property identifier: error reporter.
      See Also:
    • ERROR_HANDLER

      protected static final String ERROR_HANDLER
      Property identifier: error handler.
      See Also:
    • ENTITY_RESOLVER

      protected static final String ENTITY_RESOLVER
      Property identifier: entity resolver.
      See Also:
    • GRAMMAR_POOL

      protected static final String GRAMMAR_POOL
      Property identifier: grammar pool .
      See Also:
    • 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 Locale fLocale
  • Constructor Details

    • 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 Details

    • registerPreparser

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

      public org.apache.xerces.xni.grammars.Grammar preparseGrammar(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
      IOException - thrown if an error is encountered in reading the file
    • setLocale

      public void setLocale(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 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(String type)
    • setFeature

      public void setFeature(String featureId, boolean value)
    • setProperty

      public void setProperty(String propId, Object value)
    • getFeature

      public boolean getFeature(String type, String featureId)
    • getProperty

      public Object getProperty(String type, String propertyId)