Class 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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
      • 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)