Package com.sun.msv.relaxns.reader
Class RELAXNSReader
- java.lang.Object
-
- org.xml.sax.helpers.XMLFilterImpl
-
- com.sun.msv.reader.GrammarReader
-
- com.sun.msv.reader.relax.RELAXReader
-
- com.sun.msv.relaxns.reader.RELAXNSReader
-
- All Implemented Interfaces:
IDContextProvider2
,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 RELAXNSReader extends RELAXReader
parses RELAX Namespace XML and constructs a SchemaProvider.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.sun.msv.reader.relax.RELAXReader
RELAXReader.StateFactory
-
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 static java.lang.String
ERR_INLINEMODULE_NOT_FOUND
static java.lang.String
ERR_NAMESPACE_COLLISION
static java.lang.String
ERR_TOPLEVEL_PARTICLE_MUST_BE_RELAX_CORE
static java.lang.String
ERR_UNKNOWN_LANGUAGE
RELAXGrammar
grammar
RELAX grammar that is currentlt being loadedstatic java.lang.String
RELAXNamespaceNamespace
namespace URI of RELAX Namespace.protected org.iso_relax.dispatcher.SchemaProvider
schemaProvider
static java.lang.String
WRN_ILLEGAL_RELAXNAMESPACE_VERSION
-
Fields inherited from class com.sun.msv.reader.relax.RELAXReader
ERR_ILLEGAL_OCCURS, ERR_MISPLACED_OCCURS, RELAXCoreNamespace, sfactory
-
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 RELAXNSReader(GrammarReaderController controller, javax.xml.parsers.SAXParserFactory parserFactory, ExpressionPool pool)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description org.iso_relax.dispatcher.IslandSchemaReader
getIslandSchemaReader(java.lang.String language, java.lang.String expectedTargetNamespace)
creates anIslandSchemaReader
that can parse the specified language.RELAXGrammar
getResult()
obtains parsed grammar object only if parsing was successful.Grammar
getResultAsGrammar()
gets the parsed AGM.org.iso_relax.dispatcher.SchemaProvider
getSchemaProvider()
obtains parsed grammar object as SchemaProvider only if parsing was successful.protected boolean
isGrammarElement(StartTagInfo tag)
checks if given element is that of the grammar elements.protected java.lang.String
localizeMessage(java.lang.String propertyName, java.lang.Object[] args)
formats localized message with argumentsstatic RELAXGrammar
parse(java.lang.String moduleURL, javax.xml.parsers.SAXParserFactory factory, GrammarReaderController controller, ExpressionPool pool)
loads RELAX grammarstatic RELAXGrammar
parse(org.xml.sax.InputSource module, javax.xml.parsers.SAXParserFactory factory, GrammarReaderController controller, ExpressionPool pool)
loads RELAX grammarorg.relaxng.datatype.Datatype
resolveDataType(java.lang.String typeName)
protected Expression
resolveElementRef(java.lang.String namespace, java.lang.String label)
obtains an Expression specified by given (namespace,label) pair.protected Expression
resolveHedgeRef(java.lang.String namespace, java.lang.String label)
obtains an Expression specified by given (namespace,label) pair.private Expression
resolveRef(java.lang.String namespace, java.lang.String label, java.lang.String tagName)
-
Methods inherited from class com.sun.msv.reader.relax.RELAXReader
canHaveOccurs, createExpressionChildState, createFacetState, getPool, interceptExpression
-
Methods inherited from class com.sun.msv.reader.GrammarReader
_parse, addBackPatchJob, addBackPatchJob, combineURI, combineURL, createParserFactory, detectUndefinedOnes, endPrefixMapping, getBackwardCompatibleType, getBaseUri, getCurrentState, getDeclaredLocationOf, getLocator, inputSourceFromLSInput, 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, endElement, error, fatalError, getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getParent, getProperty, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setContentHandler, setDTDHandler, setEntityResolver, setErrorHandler, setFeature, setParent, setProperty, skippedEntity, startDocument, startElement, unparsedEntityDecl, warning
-
-
-
-
Field Detail
-
RELAXNamespaceNamespace
public static final java.lang.String RELAXNamespaceNamespace
namespace URI of RELAX Namespace.- See Also:
- Constant Field Values
-
grammar
public final RELAXGrammar grammar
RELAX grammar that is currentlt being loaded
-
schemaProvider
protected org.iso_relax.dispatcher.SchemaProvider schemaProvider
-
WRN_ILLEGAL_RELAXNAMESPACE_VERSION
public static final java.lang.String WRN_ILLEGAL_RELAXNAMESPACE_VERSION
- See Also:
- Constant Field Values
-
ERR_TOPLEVEL_PARTICLE_MUST_BE_RELAX_CORE
public static final java.lang.String ERR_TOPLEVEL_PARTICLE_MUST_BE_RELAX_CORE
- See Also:
- Constant Field Values
-
ERR_INLINEMODULE_NOT_FOUND
public static final java.lang.String ERR_INLINEMODULE_NOT_FOUND
- See Also:
- Constant Field Values
-
ERR_UNKNOWN_LANGUAGE
public static final java.lang.String ERR_UNKNOWN_LANGUAGE
- See Also:
- Constant Field Values
-
ERR_NAMESPACE_COLLISION
public static final java.lang.String ERR_NAMESPACE_COLLISION
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RELAXNSReader
public RELAXNSReader(GrammarReaderController controller, javax.xml.parsers.SAXParserFactory parserFactory, ExpressionPool pool)
-
-
Method Detail
-
parse
public static RELAXGrammar parse(java.lang.String moduleURL, javax.xml.parsers.SAXParserFactory factory, GrammarReaderController controller, ExpressionPool pool)
loads RELAX grammar
-
parse
public static RELAXGrammar parse(org.xml.sax.InputSource module, javax.xml.parsers.SAXParserFactory factory, GrammarReaderController controller, ExpressionPool pool)
loads RELAX grammar
-
getResult
public final RELAXGrammar getResult()
obtains parsed grammar object only if parsing was successful.
-
getResultAsGrammar
public Grammar getResultAsGrammar()
Description copied from class:GrammarReader
gets the parsed AGM. Should any error happens, this method should returns null. derived classes should implement type-safe getGrammar method, along with this method.- Specified by:
getResultAsGrammar
in classGrammarReader
-
getSchemaProvider
public final org.iso_relax.dispatcher.SchemaProvider getSchemaProvider()
obtains parsed grammar object as SchemaProvider only if parsing was successful.
-
getIslandSchemaReader
public org.iso_relax.dispatcher.IslandSchemaReader getIslandSchemaReader(java.lang.String language, java.lang.String expectedTargetNamespace)
creates anIslandSchemaReader
that can parse the specified language. This method can be overrided by the derived class to incorporate other language implementations.- Returns:
- return null if the given language is unrecognized. error will be handled by the caller. So this method should not attempt to report nor recover from error.
-
resolveDataType
public org.relaxng.datatype.Datatype resolveDataType(java.lang.String typeName)
-
isGrammarElement
protected boolean isGrammarElement(StartTagInfo tag)
Description copied from class:GrammarReader
checks if given element is that of the grammar elements.- Specified by:
isGrammarElement
in classGrammarReader
-
resolveElementRef
protected Expression resolveElementRef(java.lang.String namespace, java.lang.String label)
Description copied from class:RELAXReader
obtains an Expression specified by given (namespace,label) pair. this method is called to parse <ref label="..." /> element.- Specified by:
resolveElementRef
in classRELAXReader
-
resolveHedgeRef
protected Expression resolveHedgeRef(java.lang.String namespace, java.lang.String label)
Description copied from class:RELAXReader
obtains an Expression specified by given (namespace,label) pair. this method is called to parse <hedgeRef label="..." /> element.- Specified by:
resolveHedgeRef
in classRELAXReader
-
resolveRef
private Expression resolveRef(java.lang.String namespace, java.lang.String label, java.lang.String tagName)
-
localizeMessage
protected java.lang.String localizeMessage(java.lang.String propertyName, java.lang.Object[] args)
Description copied from class:GrammarReader
formats localized message with arguments- Overrides:
localizeMessage
in classRELAXReader
-
-