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,org.xml.sax.ContentHandler,org.xml.sax.DTDHandler,org.xml.sax.EntityResolver,org.xml.sax.ErrorHandler,org.xml.sax.XMLFilter,org.xml.sax.XMLReader
public class TREXGrammarReader extends TREXBaseReader implements XSDatatypeResolver
reads TREX grammar from SAX2 and constructs abstract grammar model.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTREXGrammarReader.StateFactorycreates various State object, which in turn parses grammar.private static classTREXGrammarReader.UndefinedDataTypeVocabularyDummy 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
Fields Modifier and Type Field Description protected java.lang.StringcurrentGrammarURITREX allows either (1) the predefined namespace for TREX or (2) default namespace "" as its namespace.private booleanissueObsoletedXMLSchemaNamespacestatic java.lang.StringTREXNamespaceNamespace 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, 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
Constructors Constructor Description TREXGrammarReader(GrammarReaderController controller)easy-to-use constructor.TREXGrammarReader(GrammarReaderController controller, javax.xml.parsers.SAXParserFactory parserFactory, ExpressionPool pool)easy-to-use constructor.TREXGrammarReader(GrammarReaderController controller, javax.xml.parsers.SAXParserFactory parserFactory, TREXGrammarReader.StateFactory stateFactory, ExpressionPool pool)full constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StatecreateExpressionChildState(State parent, StartTagInfo tag)this method must be implemented by the derived class to create language-default expresion state.protected TREXGrammargetGrammar()protected TREXGrammarReader.StateFactorygetStateFactory()protected booleanisGrammarElement(StartTagInfo tag)checks if given element is that of the grammar elements.protected java.lang.StringlocalizeMessage(java.lang.String propertyName, java.lang.Object[] args)formats localized message with argumentsprivate java.lang.StringmapNamespace(java.lang.String namespace)maps obsoleted XML Schema namespace to the current one.static TREXGrammarparse(java.lang.String grammarURL, javax.xml.parsers.SAXParserFactory factory, GrammarReaderController controller)loads TREX patternstatic TREXGrammarparse(org.xml.sax.InputSource grammar, javax.xml.parsers.SAXParserFactory factory, GrammarReaderController controller)loads TREX patternorg.relaxng.datatype.DatatyperesolveDatatype(java.lang.String qName)obtains a named DataType object referenced by a QName.XSDatatypeExpresolveXSDatatype(java.lang.String qName)voidwrapUp()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 Detail
-
currentGrammarURI
protected java.lang.String 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
public static final java.lang.String TREXNamespace
Namespace URI of TREX- See Also:
- Constant Field Values
-
issueObsoletedXMLSchemaNamespace
private boolean issueObsoletedXMLSchemaNamespace
-
-
Constructor Detail
-
TREXGrammarReader
public TREXGrammarReader(GrammarReaderController controller)
easy-to-use constructor.
-
TREXGrammarReader
public TREXGrammarReader(GrammarReaderController controller, javax.xml.parsers.SAXParserFactory parserFactory, ExpressionPool pool)
easy-to-use constructor.
-
TREXGrammarReader
public TREXGrammarReader(GrammarReaderController controller, javax.xml.parsers.SAXParserFactory parserFactory, TREXGrammarReader.StateFactory stateFactory, ExpressionPool pool)
full constructor
-
-
Method Detail
-
parse
public static TREXGrammar parse(java.lang.String grammarURL, javax.xml.parsers.SAXParserFactory factory, GrammarReaderController controller)
loads TREX pattern
-
parse
public static TREXGrammar parse(org.xml.sax.InputSource grammar, javax.xml.parsers.SAXParserFactory factory, GrammarReaderController controller)
loads TREX pattern
-
localizeMessage
protected java.lang.String localizeMessage(java.lang.String propertyName, java.lang.Object[] args)Description copied from class:GrammarReaderformats localized message with arguments- Overrides:
localizeMessagein classTREXBaseReader
-
getGrammar
protected TREXGrammar getGrammar()
-
isGrammarElement
protected boolean isGrammarElement(StartTagInfo tag)
Description copied from class:GrammarReaderchecks if given element is that of the grammar elements.- Specified by:
isGrammarElementin classGrammarReader
-
getStateFactory
protected TREXGrammarReader.StateFactory getStateFactory()
-
mapNamespace
private java.lang.String mapNamespace(java.lang.String namespace)
maps obsoleted XML Schema namespace to the current one.
-
createExpressionChildState
public State createExpressionChildState(State parent, StartTagInfo tag)
Description copied from class:GrammarReaderthis method must be implemented by the derived class to create language-default expresion state.- Overrides:
createExpressionChildStatein classTREXBaseReader- Returns:
- null if the start tag is an error.
-
resolveXSDatatype
public XSDatatypeExp resolveXSDatatype(java.lang.String qName)
- Specified by:
resolveXSDatatypein 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
public org.relaxng.datatype.Datatype resolveDatatype(java.lang.String qName)
obtains a named DataType object referenced by a QName.
-
wrapUp
public void wrapUp()
Description copied from class:TREXBaseReaderperforms 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:
wrapUpin classTREXBaseReader
-
-