com.sun.msv.relaxns.reader

Class RELAXNSReader

Implemented Interfaces:
IDContextProvider2, ValidationContext

public class RELAXNSReader
extends RELAXReader

parses RELAX Namespace XML and constructs a SchemaProvider.
Author:
Kohsuke KAWAGUCHI

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

static String
ERR_INLINEMODULE_NOT_FOUND
static String
ERR_NAMESPACE_COLLISION
static String
ERR_TOPLEVEL_PARTICLE_MUST_BE_RELAX_CORE
static String
ERR_UNKNOWN_LANGUAGE
static String
RELAXNamespaceNamespace
namespace URI of RELAX Namespace.
static String
WRN_ILLEGAL_RELAXNAMESPACE_VERSION
RELAXGrammar
grammar
RELAX grammar that is currentlt being loaded

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

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

RELAXNSReader(GrammarReaderController controller, SAXParserFactory parserFactory, ExpressionPool pool)

Method Summary

IslandSchemaReader
getIslandSchemaReader(String language, String expectedTargetNamespace)
creates an IslandSchemaReader that can parse the specified language.
RELAXGrammar
getResult()
obtains parsed grammar object only if parsing was successful.
Grammar
getResultAsGrammar()
gets the parsed AGM.
SchemaProvider
getSchemaProvider()
obtains parsed grammar object as SchemaProvider only if parsing was successful.
static RELAXGrammar
parse(InputSource module, SAXParserFactory factory, GrammarReaderController controller, ExpressionPool pool)
loads RELAX grammar
static RELAXGrammar
parse(String moduleURL, SAXParserFactory factory, GrammarReaderController controller, ExpressionPool pool)
loads RELAX grammar
Datatype
resolveDataType(String typeName)

Methods inherited from class com.sun.msv.reader.relax.RELAXReader

createExpressionChildState, createFacetState

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

ERR_INLINEMODULE_NOT_FOUND

public static final String ERR_INLINEMODULE_NOT_FOUND

ERR_NAMESPACE_COLLISION

public static final String ERR_NAMESPACE_COLLISION

ERR_TOPLEVEL_PARTICLE_MUST_BE_RELAX_CORE

public static final String ERR_TOPLEVEL_PARTICLE_MUST_BE_RELAX_CORE

ERR_UNKNOWN_LANGUAGE

public static final String ERR_UNKNOWN_LANGUAGE

RELAXNamespaceNamespace

public static final String RELAXNamespaceNamespace
namespace URI of RELAX Namespace.

WRN_ILLEGAL_RELAXNAMESPACE_VERSION

public static final String WRN_ILLEGAL_RELAXNAMESPACE_VERSION

grammar

public final RELAXGrammar grammar
RELAX grammar that is currentlt being loaded

Constructor Details

RELAXNSReader

public RELAXNSReader(GrammarReaderController controller,
                     SAXParserFactory parserFactory,
                     ExpressionPool pool)

Method Details

getIslandSchemaReader

public IslandSchemaReader getIslandSchemaReader(String language,
                                                String expectedTargetNamespace)
creates an IslandSchemaReader 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.

getResult

public final RELAXGrammar getResult()
obtains parsed grammar object only if parsing was successful.

getResultAsGrammar

public Grammar getResultAsGrammar()
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.
Overrides:
getResultAsGrammar in interface GrammarReader

getSchemaProvider

public final SchemaProvider getSchemaProvider()
obtains parsed grammar object as SchemaProvider only if parsing was successful.

parse

public static RELAXGrammar parse(InputSource module,
                                 SAXParserFactory factory,
                                 GrammarReaderController controller,
                                 ExpressionPool pool)
loads RELAX grammar

parse

public static RELAXGrammar parse(String moduleURL,
                                 SAXParserFactory factory,
                                 GrammarReaderController controller,
                                 ExpressionPool pool)
loads RELAX grammar

resolveDataType

public Datatype resolveDataType(String typeName)