Package com.sun.msv.reader.trex.ng
Class RELAXNGReader
java.lang.Object
org.xml.sax.helpers.XMLFilterImpl
com.sun.msv.reader.GrammarReader
com.sun.msv.reader.trex.TREXBaseReader
com.sun.msv.reader.trex.ng.RELAXNGReader
- All Implemented Interfaces:
IDContextProvider2
,org.relaxng.datatype.ValidationContext
,ContentHandler
,DTDHandler
,EntityResolver
,ErrorHandler
,XMLFilter
,XMLReader
- Direct Known Subclasses:
RELAXNGCompReader
reads RELAX NG grammar from SAX2 and constructs abstract grammar model.
- Author:
- Kohsuke KAWAGUCHI
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
information necessary to correctly parse pattern definitions.static class
creates various State object, which in turn parses grammar.Nested classes/interfaces inherited from class com.sun.msv.reader.GrammarReader
GrammarReader.BackPatch, GrammarReader.BackwardReferenceMap, GrammarReader.ChainPrefixResolver, GrammarReader.PrefixResolver
-
Field Summary
Modifier and TypeFieldDescriptionprotected RELAXNGReader.RefExpParseInfo
Info about the current ReferenceExp object which is being defined.protected String
the namespace URI of the currently active datatype library.protected boolean
Flag to indicate whether we saw <element> or not.static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
Namespace URI of RELAX NGprotected static org.iso_relax.verifier.Schema
Schema for schema of RELAX NG.protected final RestrictionChecker
Contextual restriction checker.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
ConstructorDescriptionRELAXNGReader
(GrammarReaderController controller) easy-to-use constructor.RELAXNGReader
(GrammarReaderController controller, SAXParserFactory parserFactory) easy-to-use constructor.RELAXNGReader
(GrammarReaderController controller, SAXParserFactory parserFactory, RELAXNGReader.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 State
createNameClassChildState
(State parent, StartTagInfo tag) void
void
endElement
(String a, String b, String c) org.relaxng.datatype.DatatypeLibrary
org.relaxng.datatype.DatatypeLibraryFactory
Returns the datatypeLibraryFactory.protected TREXGrammar
protected RELAXNGReader.RefExpParseInfo
Gets RefExpParseInfo object for the specified ReferenceExp.static org.iso_relax.verifier.Schema
protected RELAXNGReader.StateFactory
protected boolean
checks if given element is that of the grammar elements.protected String
localizeMessage
(String propertyName, Object[] args) formats localized message with argumentsstatic TREXGrammar
parse
(String grammarURL, SAXParserFactory factory, GrammarReaderController controller) loads RELAX NG patternstatic TREXGrammar
parse
(InputSource grammar, SAXParserFactory factory, GrammarReaderController controller) loads RELAX NG patternorg.relaxng.datatype.Datatype
resolveDataType
(String localName) obtains a named DataType object referenced by a local name.org.relaxng.datatype.DatatypeLibrary
obtains the DataTypeLibrary that represents the specified namespace URI.resolveNamespacePrefix
(String prefix) void
setDatatypeLibraryFactory
(org.relaxng.datatype.DatatypeLibraryFactory datatypeLibraryFactory) Sets the datatypeLibraryFactory.void
void
startElement
(String a, String b, String c, Attributes d) void
wrapUp()
performs final wrap-up.Methods inherited from class com.sun.msv.reader.trex.TREXBaseReader
getResult, getResultAsGrammar, getTargetNamespace
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, runBackPatchJob, setDeclaredLocationOf, setDocumentLocator, setLocator, splitQName, startPrefixMapping, switchSource, switchSource, switchSource
Methods inherited from class org.xml.sax.helpers.XMLFilterImpl
characters, error, fatalError, getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getParent, getProperty, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setContentHandler, setDTDHandler, setEntityResolver, setErrorHandler, setFeature, setParent, setProperty, skippedEntity, unparsedEntityDecl, warning
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.xml.sax.ContentHandler
declaration
-
Field Details
-
relaxNGSchema4Schema
protected static org.iso_relax.verifier.Schema relaxNGSchema4SchemaSchema for schema of RELAX NG. -
currentNamedPattern
Info about the current ReferenceExp object which is being defined. This field is maintained by DefineState.This field is set to null when there is an error, or the pattern being defined is being re-defined.
This is a part of the process of the recursive self reference error detection.
-
directRefernce
protected boolean directRefernceFlag to indicate whether we saw <element> or not. If we don't see any <element> between <define>/<start> and <ref>/<parentRef>, then that reference will go tocurrentNamedPattern.refs
.This is a part of the process of the recursive self reference error detection.
-
RELAXNGNamespace
Namespace URI of RELAX NG- See Also:
-
restrictionChecker
Contextual restriction checker. -
datatypeLibURI
the namespace URI of the currently active datatype library. The empty string indicates the built-in datatype library. -
ERR_BAD_FACET
- See Also:
-
ERR_INVALID_PARAMETERS
- See Also:
-
ERR_BAD_DATA_VALUE
- See Also:
-
ERR_UNDEFINED_KEY
- See Also:
-
ERR_UNDEFINED_DATATYPE_1
- See Also:
-
ERR_INCONSISTENT_KEY_TYPE
- See Also:
-
ERR_INCONSISTENT_COMBINE
- See Also:
-
ERR_REDEFINING_UNDEFINED
- See Also:
-
ERR_UNKNOWN_DATATYPE_VOCABULARY_1
- See Also:
-
ERR_MULTIPLE_EXCEPT
- See Also:
-
ERR_NOT_ABSOLUTE_URI
- See Also:
-
ERR_INFOSET_URI_ATTRIBUTE
- See Also:
-
ERR_XMLNS_ATTRIBUTE
- See Also:
-
ERR_NAKED_INFINITE_ATTRIBUTE_NAMECLASS
- See Also:
-
-
Constructor Details
-
RELAXNGReader
easy-to-use constructor. -
RELAXNGReader
easy-to-use constructor. -
RELAXNGReader
public RELAXNGReader(GrammarReaderController controller, SAXParserFactory parserFactory, RELAXNGReader.StateFactory stateFactory, ExpressionPool pool) full constructor
-
-
Method Details
-
parse
public static TREXGrammar parse(String grammarURL, SAXParserFactory factory, GrammarReaderController controller) loads RELAX NG pattern -
parse
public static TREXGrammar parse(InputSource grammar, SAXParserFactory factory, GrammarReaderController controller) loads RELAX NG pattern -
getRELAXNGSchema4Schema
public static org.iso_relax.verifier.Schema getRELAXNGSchema4Schema() -
localizeMessage
Description copied from class:GrammarReader
formats localized message with arguments- Overrides:
localizeMessage
in classTREXBaseReader
-
getGrammar
-
getRefExpParseInfo
Gets RefExpParseInfo object for the specified ReferenceExp. -
isGrammarElement
Description copied from class:GrammarReader
checks if given element is that of the grammar elements.- Specified by:
isGrammarElement
in classGrammarReader
-
getDatatypeLibraryFactory
public org.relaxng.datatype.DatatypeLibraryFactory getDatatypeLibraryFactory()Returns the datatypeLibraryFactory. -
setDatatypeLibraryFactory
public void setDatatypeLibraryFactory(org.relaxng.datatype.DatatypeLibraryFactory datatypeLibraryFactory) Sets the datatypeLibraryFactory. -
getStateFactory
-
createNameClassChildState
- Overrides:
createNameClassChildState
in classTREXBaseReader
-
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.
-
resolveDataType
obtains a named DataType object referenced by a local name. -
resolveDataTypeLibrary
obtains the DataTypeLibrary that represents the specified namespace URI. If the specified URI is undefined, then this method issues an error to the user and must return a dummy datatype library. -
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
-
getCurrentDatatypeLibrary
public org.relaxng.datatype.DatatypeLibrary getCurrentDatatypeLibrary() -
resolveNamespacePrefix
- Specified by:
resolveNamespacePrefix
in interfaceorg.relaxng.datatype.ValidationContext
- Overrides:
resolveNamespacePrefix
in classGrammarReader
-
startDocument
- Specified by:
startDocument
in interfaceContentHandler
- Overrides:
startDocument
in classXMLFilterImpl
- Throws:
SAXException
-
endDocument
- Specified by:
endDocument
in interfaceContentHandler
- Overrides:
endDocument
in classXMLFilterImpl
- Throws:
SAXException
-
startElement
- Specified by:
startElement
in interfaceContentHandler
- Overrides:
startElement
in classTREXBaseReader
- Throws:
SAXException
-
endElement
- Specified by:
endElement
in interfaceContentHandler
- Overrides:
endElement
in classTREXBaseReader
- Throws:
SAXException
-