Class XMLGrammarPreparser
- java.lang.Object
-
- org.smooks.engine.delivery.sax.ng.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$
- Author:
- Neil Graham, IBM
-
-
Field Summary
Fields Modifier and Type Field Description protected static StringENTITY_RESOLVERProperty identifier: entity resolver.protected static StringERROR_HANDLERProperty identifier: error handler.protected static StringERROR_REPORTERProperty identifier: error reporter.protected XMLEntityResolverfEntityResolverprotected XMLErrorReporterfErrorReporterprotected XMLGrammarPoolfGrammarPoolprotected LocalefLocaleprotected SymbolTablefSymbolTableprotected static StringGRAMMAR_POOLProperty identifier: grammar pool .protected static StringSYMBOL_TABLEProperty identifier: symbol table.
-
Constructor Summary
Constructors Constructor Description XMLGrammarPreparser()Default constructor.XMLGrammarPreparser(SymbolTable symbolTable)Constructs a preparser using the specified symbol table.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XMLEntityResolvergetEntityResolver()Returns the registered entity resolver.XMLErrorHandlergetErrorHandler()Returns the registered error handler.booleangetFeature(String type, String featureId)XMLGrammarPoolgetGrammarPool()Returns the registered grammar pool.XMLGrammarLoadergetLoader(String type)LocalegetLocale()Return the Locale the XMLGrammarLoader is using.ObjectgetProperty(String type, String propertyId)GrammarpreparseGrammar(String type, XMLInputSource is)Parse a grammar from a location identified by an XMLInputSource.booleanregisterPreparser(String grammarType, XMLGrammarLoader loader)voidsetEntityResolver(XMLEntityResolver entityResolver)Sets the entity resolver.voidsetErrorHandler(XMLErrorHandler errorHandler)Sets the error handler.voidsetFeature(String featureId, boolean value)voidsetGrammarPool(XMLGrammarPool grammarPool)Sets the grammar pool.voidsetLocale(Locale locale)Set the locale to use for messages.voidsetProperty(String propId, Object value)
-
-
-
Field Detail
-
SYMBOL_TABLE
protected static final String SYMBOL_TABLE
Property identifier: symbol table.- See Also:
- Constant Field Values
-
ERROR_REPORTER
protected static final String ERROR_REPORTER
Property identifier: error reporter.- See Also:
- Constant Field Values
-
ERROR_HANDLER
protected static final String ERROR_HANDLER
Property identifier: error handler.- See Also:
- Constant Field Values
-
ENTITY_RESOLVER
protected static final String ENTITY_RESOLVER
Property identifier: entity resolver.- See Also:
- Constant Field Values
-
GRAMMAR_POOL
protected static final String GRAMMAR_POOL
Property identifier: grammar pool .- See Also:
- Constant Field Values
-
fSymbolTable
protected final SymbolTable fSymbolTable
-
fErrorReporter
protected final XMLErrorReporter fErrorReporter
-
fEntityResolver
protected XMLEntityResolver fEntityResolver
-
fGrammarPool
protected XMLGrammarPool fGrammarPool
-
fLocale
protected 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(String grammarType, XMLGrammarLoader loader)
-
preparseGrammar
public Grammar preparseGrammar(String type, XMLInputSource is) throws 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 constructedis- 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:
XNIException- thrown on an error in grammar constructionIOException- 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:
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(XMLErrorHandler errorHandler)
Sets the error handler.- Parameters:
errorHandler- The error handler.
-
getErrorHandler
public XMLErrorHandler getErrorHandler()
Returns the registered error handler.
-
setEntityResolver
public void setEntityResolver(XMLEntityResolver entityResolver)
Sets the entity resolver.- Parameters:
entityResolver- The new entity resolver.
-
getEntityResolver
public XMLEntityResolver getEntityResolver()
Returns the registered entity resolver.
-
setGrammarPool
public void setGrammarPool(XMLGrammarPool grammarPool)
Sets the grammar pool.- Parameters:
grammarPool- The new grammar pool.
-
getGrammarPool
public XMLGrammarPool getGrammarPool()
Returns the registered grammar pool.
-
getLoader
public XMLGrammarLoader getLoader(String type)
-
setFeature
public void setFeature(String featureId, boolean value)
-
-