Package com.sun.msv.reader.trex.classic
Class TREXGrammarReader
java.lang.Object
org.xml.sax.helpers.XMLFilterImpl
com.sun.msv.reader.GrammarReader
com.sun.msv.reader.trex.TREXBaseReader
com.sun.msv.reader.trex.classic.TREXGrammarReader
- All Implemented Interfaces:
IDContextProvider2
,XSDatatypeResolver
,org.relaxng.datatype.ValidationContext
,ContentHandler
,DTDHandler
,EntityResolver
,ErrorHandler
,XMLFilter
,XMLReader
reads TREX grammar from SAX2 and constructs abstract grammar model.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
creates various State object, which in turn parses grammar.private static class
Dummy DataTypeVocabulary for better error recovery.Nested classes/interfaces inherited from class com.sun.msv.reader.GrammarReader
GrammarReader.BackPatch, GrammarReader.BackwardReferenceMap, GrammarReader.ChainPrefixResolver, GrammarReader.PrefixResolver
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String
TREX allows either (1) the predefined namespace for TREX or (2) default namespace "" as its namespace.private boolean
static final String
Namespace URI of TREXFields 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, grammar, sfactory, targetNamespace, WRN_COMBINE_IGNORED, WRN_OBSOLETED_XMLSCHEMA_NAMSPACE
Fields inherited from class com.sun.msv.reader.GrammarReader
backwardReference, basePrefixResolver, controller, 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, parserFactory, pool, prefixResolver, WRN_DEPRECATED_TYPENAME, WRN_MAYBE_WRONG_NAMESPACE
-
Constructor Summary
ConstructorsConstructorDescriptionTREXGrammarReader
(GrammarReaderController controller) easy-to-use constructor.TREXGrammarReader
(GrammarReaderController controller, SAXParserFactory parserFactory, ExpressionPool pool) easy-to-use constructor.TREXGrammarReader
(GrammarReaderController controller, SAXParserFactory parserFactory, TREXGrammarReader.StateFactory stateFactory, ExpressionPool pool) full constructor -
Method Summary
Modifier and TypeMethodDescriptioncreateExpressionChildState
(State parent, StartTagInfo tag) this method must be implemented by the derived class to create language-default expresion state.protected TREXGrammar
protected TREXGrammarReader.StateFactory
protected boolean
checks if given element is that of the grammar elements.protected String
localizeMessage
(String propertyName, Object[] args) formats localized message with argumentsprivate String
mapNamespace
(String namespace) maps obsoleted XML Schema namespace to the current one.static TREXGrammar
parse
(String grammarURL, SAXParserFactory factory, GrammarReaderController controller) loads TREX patternstatic TREXGrammar
parse
(InputSource grammar, SAXParserFactory factory, GrammarReaderController controller) loads TREX patternorg.relaxng.datatype.Datatype
resolveDatatype
(String qName) obtains a named DataType object referenced by a QName.resolveXSDatatype
(String qName) void
wrapUp()
performs final wrap-up.Methods inherited from class com.sun.msv.reader.trex.TREXBaseReader
createNameClassChildState, endElement, getResult, getResultAsGrammar, getTargetNamespace, startElement
Methods inherited from class com.sun.msv.reader.GrammarReader
_parse, addBackPatchJob, addBackPatchJob, combineURI, combineURL, createParserFactory, detectUndefinedOnes, endPrefixMapping, getBackwardCompatibleType, getBaseUri, getCurrentState, getDeclaredLocationOf, getLocator, inputSourceFromLSInput, interceptExpression, isNotation, isUnparsedEntity, iterateInscopeNamespaces, onID, parse, parse, parse, popState, pushState, reportError, reportError, reportError, reportError, reportError, reportError, reportError, reportError, reportWarning, reportWarning, reportWarning, reportWarning, resolveLocation, resolveNamespacePrefix, runBackPatchJob, setDeclaredLocationOf, setDocumentLocator, setLocator, splitQName, startPrefixMapping, switchSource, switchSource, switchSource
Methods inherited from class org.xml.sax.helpers.XMLFilterImpl
characters, endDocument, error, fatalError, getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getParent, getProperty, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setContentHandler, setDTDHandler, setEntityResolver, setErrorHandler, setFeature, setParent, setProperty, skippedEntity, startDocument, unparsedEntityDecl, warning
-
Field Details
-
currentGrammarURI
TREX allows either (1) the predefined namespace for TREX or (2) default namespace "" as its namespace. This variable holds which namespace is currently in use. -
TREXNamespace
Namespace URI of TREX- See Also:
-
issueObsoletedXMLSchemaNamespace
private boolean issueObsoletedXMLSchemaNamespace
-
-
Constructor Details
-
TREXGrammarReader
easy-to-use constructor. -
TREXGrammarReader
public TREXGrammarReader(GrammarReaderController controller, SAXParserFactory parserFactory, ExpressionPool pool) easy-to-use constructor. -
TREXGrammarReader
public TREXGrammarReader(GrammarReaderController controller, SAXParserFactory parserFactory, TREXGrammarReader.StateFactory stateFactory, ExpressionPool pool) full constructor
-
-
Method Details
-
parse
public static TREXGrammar parse(String grammarURL, SAXParserFactory factory, GrammarReaderController controller) loads TREX pattern -
parse
public static TREXGrammar parse(InputSource grammar, SAXParserFactory factory, GrammarReaderController controller) loads TREX pattern -
localizeMessage
Description copied from class:GrammarReader
formats localized message with arguments- Overrides:
localizeMessage
in classTREXBaseReader
-
getGrammar
-
isGrammarElement
Description copied from class:GrammarReader
checks if given element is that of the grammar elements.- Specified by:
isGrammarElement
in classGrammarReader
-
getStateFactory
-
mapNamespace
maps obsoleted XML Schema namespace to the current one. -
createExpressionChildState
Description copied from class:GrammarReader
this method must be implemented by the derived class to create language-default expresion state.- Overrides:
createExpressionChildState
in classTREXBaseReader
- Returns:
- null if the start tag is an error.
-
resolveXSDatatype
- Specified by:
resolveXSDatatype
in interfaceXSDatatypeResolver
- Parameters:
qName
- The type of this value varies in the schema language. In XML Schema, for example, in which QNames are used to designate datatypes, this parameter will be QName. In RELAX Core, in which the same syntax is used but NCName is used to designate datatypes. So this parameter will be NCName.- Returns:
- A non-null valid object. An error should be reported and recovered by the callee.
-
resolveDatatype
obtains a named DataType object referenced by a QName. -
wrapUp
public void wrapUp()Description copied from class:TREXBaseReader
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 classTREXBaseReader
-