com.sun.msv.reader.trex.classic

Class TREXGrammarReader

Implemented Interfaces:
IDContextProvider2, ValidationContext, XSDatatypeResolver

public class TREXGrammarReader
extends TREXBaseReader
implements XSDatatypeResolver

reads TREX grammar from SAX2 and constructs abstract grammar model.
Author:
Kohsuke KAWAGUCHI

Nested Class Summary

static class
TREXGrammarReader.StateFactory
creates various State object, which in turn parses grammar.

Nested classes/interfaces inherited from class com.sun.msv.reader.trex.TREXBaseReader

TREXBaseReader.StateFactory

Nested classes/interfaces inherited from class com.sun.msv.reader.GrammarReader

GrammarReader.BackPatch, GrammarReader.BackwardReferenceMap, GrammarReader.ChainPrefixResolver, GrammarReader.PrefixResolver

Field Summary

static String
TREXNamespace
Namespace URI of TREX

Fields inherited from class com.sun.msv.reader.trex.TREXBaseReader

ERR_BAD_COMBINE, ERR_COMBINE_MISSING, ERR_DUPLICATE_DEFINITION, ERR_INTERLEAVED_ANYSTRING, ERR_INTERLEAVED_STRING, ERR_MISSING_CHILD_NAMECLASS, ERR_MORE_THAN_ONE_NAMECLASS, ERR_NONEXISTENT_PARENT_GRAMMAR, ERR_REPEATED_STRING, ERR_SEQUENCED_STRING, ERR_UNDECLARED_PREFIX, ERR_UNDEFINED_PATTERN, ERR_UNKNOWN_DATATYPE_VOCABULARY, WRN_COMBINE_IGNORED, WRN_OBSOLETED_XMLSCHEMA_NAMSPACE, sfactory

Fields inherited from class com.sun.msv.reader.GrammarReader

ERR_BAD_ATTRIBUTE_VALUE, ERR_BAD_TYPE, ERR_CHARACTERS, ERR_CONFLICTING_ATTRIBUTES, ERR_DATATYPE_ALREADY_DEFINED, ERR_DISALLOWED_ATTRIBUTE, ERR_FRAGMENT_IDENTIFIER, ERR_ILLEGAL_FINAL_VALUE, ERR_MALPLACED_ELEMENT, ERR_MISSING_ATTRIBUTE, ERR_MISSING_ATTRIBUTE_2, ERR_MISSING_CHILD_EXPRESSION, ERR_MISSING_CHILD_TYPE, ERR_MISSING_TOPLEVEL, ERR_MORE_THAN_ONE_CHILD_EXPRESSION, ERR_MORE_THAN_ONE_CHILD_TYPE, ERR_RECURSIVE_DATATYPE, ERR_RECURSIVE_INCLUDE, ERR_RUNAWAY_EXPRESSION, ERR_UNDEFINED_DATATYPE, WRN_DEPRECATED_TYPENAME, WRN_MAYBE_WRONG_NAMESPACE, backwardReference, basePrefixResolver, controller, locator, parserFactory, pool, prefixResolver

Constructor Summary

TREXGrammarReader(GrammarReaderController controller)
easy-to-use constructor.
TREXGrammarReader(GrammarReaderController controller, SAXParserFactory parserFactory, ExpressionPool pool)
easy-to-use constructor.
TREXGrammarReader(GrammarReaderController controller, SAXParserFactory parserFactory, TREXBaseReader.StateFactory stateFactory, ExpressionPool pool)
full constructor

Method Summary

State
createExpressionChildState(State parent, StartTagInfo tag)
this method must be implemented by the derived class to create language-default expresion state.
static TREXGrammar
parse(InputSource grammar, SAXParserFactory factory, GrammarReaderController controller)
loads TREX pattern
static TREXGrammar
parse(String grammarURL, SAXParserFactory factory, GrammarReaderController controller)
loads TREX pattern
Datatype
resolveDatatype(String qName)
obtains a named DataType object referenced by a QName.
XSDatatypeExp
resolveXSDatatype(String qName)
void
wrapUp()
performs final wrap-up.

Methods inherited from class com.sun.msv.reader.trex.TREXBaseReader

createExpressionChildState, endElement, getResult, getResultAsGrammar, getTargetNamespace, startElement, wrapUp

Methods inherited from class com.sun.msv.reader.GrammarReader

_parse, addBackPatchJob, addBackPatchJob, combineURI, combineURL, createExpressionChildState, detectUndefinedOnes, endPrefixMapping, getBackwardCompatibleType, getBaseUri, getCurrentState, getDeclaredLocationOf, getResultAsGrammar, isNotation, isUnparsedEntity, iterateInscopeNamespaces, onID, parse, parse, popState, pushState, reportError, reportError, reportError, reportError, reportError, reportError, reportError, reportError, reportWarning, reportWarning, reportWarning, reportWarning, resolveLocation, resolveNamespacePrefix, runBackPatchJob, setDeclaredLocationOf, setDocumentLocator, splitQName, startPrefixMapping, switchSource, switchSource

Field Details

TREXNamespace

public static final String TREXNamespace
Namespace URI of TREX

Constructor Details

TREXGrammarReader

public TREXGrammarReader(GrammarReaderController controller)
easy-to-use constructor.

TREXGrammarReader

public TREXGrammarReader(GrammarReaderController controller,
                         SAXParserFactory parserFactory,
                         ExpressionPool pool)
easy-to-use constructor.

TREXGrammarReader

public TREXGrammarReader(GrammarReaderController controller,
                         SAXParserFactory parserFactory,
                         TREXBaseReader.StateFactory stateFactory,
                         ExpressionPool pool)
full constructor

Method Details

createExpressionChildState

public State createExpressionChildState(State parent,
                                        StartTagInfo tag)
this method must be implemented by the derived class to create language-default expresion state.
Overrides:
createExpressionChildState in interface TREXBaseReader
Returns:
null if the start tag is an error.

parse

public static TREXGrammar parse(InputSource grammar,
                                SAXParserFactory factory,
                                GrammarReaderController controller)
loads TREX pattern

parse

public static TREXGrammar parse(String grammarURL,
                                SAXParserFactory factory,
                                GrammarReaderController controller)
loads TREX pattern

resolveDatatype

public Datatype resolveDatatype(String qName)
obtains a named DataType object referenced by a QName.

resolveXSDatatype

public XSDatatypeExp resolveXSDatatype(String qName)
Specified by:
resolveXSDatatype in interface XSDatatypeResolver
Parameters:
Returns:
A non-null valid object. An error should be reported and recovered by the callee.

wrapUp

public void wrapUp()
performs final wrap-up. This method is called from the RootState object, after the parsing is completed.

This method has to be called after the run-away expression check is done.

Overrides:
wrapUp in interface TREXBaseReader