com.sun.msv.relaxns.reader
Class RELAXNSReader

java.lang.Object
  extended by org.xml.sax.helpers.XMLFilterImpl
      extended by com.sun.msv.reader.GrammarReader
          extended by com.sun.msv.reader.relax.RELAXReader
              extended by com.sun.msv.relaxns.reader.RELAXNSReader
All Implemented Interfaces:
IDContextProvider2, ValidationContext, ContentHandler, DTDHandler, EntityResolver, ErrorHandler, XMLFilter, XMLReader

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
           
 RELAXGrammar grammar
          RELAX grammar that is currentlt being loaded
static String RELAXNamespaceNamespace
          namespace URI of RELAX Namespace.
static 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, locator, parserFactory, pool, prefixResolver, WRN_DEPRECATED_TYPENAME, WRN_MAYBE_WRONG_NAMESPACE
 
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, detectUndefinedOnes, endPrefixMapping, getBackwardCompatibleType, getBaseUri, getCurrentState, getDeclaredLocationOf, 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
 
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
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RELAXNamespaceNamespace

public static final String RELAXNamespaceNamespace
namespace URI of RELAX Namespace.

See Also:
Constant Field Values

grammar

public final RELAXGrammar grammar
RELAX grammar that is currentlt being loaded


WRN_ILLEGAL_RELAXNAMESPACE_VERSION

public static final String WRN_ILLEGAL_RELAXNAMESPACE_VERSION
See Also:
Constant Field Values

ERR_TOPLEVEL_PARTICLE_MUST_BE_RELAX_CORE

public static final String ERR_TOPLEVEL_PARTICLE_MUST_BE_RELAX_CORE
See Also:
Constant Field Values

ERR_INLINEMODULE_NOT_FOUND

public static final String ERR_INLINEMODULE_NOT_FOUND
See Also:
Constant Field Values

ERR_UNKNOWN_LANGUAGE

public static final String ERR_UNKNOWN_LANGUAGE
See Also:
Constant Field Values

ERR_NAMESPACE_COLLISION

public static final String ERR_NAMESPACE_COLLISION
See Also:
Constant Field Values
Constructor Detail

RELAXNSReader

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

parse

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


parse

public static RELAXGrammar parse(InputSource module,
                                 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 class GrammarReader

getSchemaProvider

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


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.

resolveDataType

public Datatype resolveDataType(String typeName)