com.sun.msv.reader.trex.ng

Class RELAXNGReader

Implemented Interfaces:
IDContextProvider2, ValidationContext
Known Direct Subclasses:
RELAXNGCompReader

public class RELAXNGReader
extends TREXBaseReader

reads RELAX NG grammar from SAX2 and constructs abstract grammar model.
Author:
Kohsuke KAWAGUCHI

Nested Class Summary

static class
RELAXNGReader.StateFactory
creates various State object, which in turn parses grammar.

Nested classes/interfaces inherited from class com.sun.msv.reader.trex.TREXBaseReader

TREXBaseReader.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_BAD_DATA_VALUE
static String
ERR_BAD_FACET
static String
ERR_INCONSISTENT_COMBINE
static String
ERR_INCONSISTENT_KEY_TYPE
static String
ERR_INFOSET_URI_ATTRIBUTE
static String
ERR_INVALID_PARAMETERS
static String
ERR_MULTIPLE_EXCEPT
static String
ERR_NAKED_INFINITE_ATTRIBUTE_NAMECLASS
static String
ERR_NOT_ABSOLUTE_URI
static String
ERR_REDEFINING_UNDEFINED
static String
ERR_UNDEFINED_DATATYPE_1
static String
ERR_UNDEFINED_KEY
static String
ERR_UNKNOWN_DATATYPE_VOCABULARY_1
static String
ERR_XMLNS_ATTRIBUTE
static String
RELAXNGNamespace
Namespace URI of RELAX NG

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, WRN_COMBINE_IGNORED, WRN_OBSOLETED_XMLSCHEMA_NAMSPACE, 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

RELAXNGReader(GrammarReaderController controller)
easy-to-use constructor.
RELAXNGReader(GrammarReaderController controller, SAXParserFactory parserFactory)
easy-to-use constructor.
RELAXNGReader(GrammarReaderController controller, SAXParserFactory parserFactory, TREXBaseReader.StateFactory stateFactory, ExpressionPool pool)
full constructor

Method Summary

State
createExpressionChildState(State parent, StartTagInfo tag)
this method must be implemented by the derived class to create language-default expresion state.
void
endDocument()
void
endElement(String a, String b, String c)
DatatypeLibrary
getCurrentDatatypeLibrary()
DatatypeLibraryFactory
getDatatypeLibraryFactory()
Returns the datatypeLibraryFactory.
static Schema
getRELAXNGSchema4Schema()
static TREXGrammar
parse(InputSource grammar, SAXParserFactory factory, GrammarReaderController controller)
loads RELAX NG pattern
static TREXGrammar
parse(String grammarURL, SAXParserFactory factory, GrammarReaderController controller)
loads RELAX NG pattern
Datatype
resolveDataType(String localName)
obtains a named DataType object referenced by a local name.
DatatypeLibrary
resolveDataTypeLibrary(String uri)
obtains the DataTypeLibrary that represents the specified namespace URI.
String
resolveNamespacePrefix(String prefix)
void
setDatatypeLibraryFactory(DatatypeLibraryFactory datatypeLibraryFactory)
Sets the datatypeLibraryFactory.
void
startDocument()
void
startElement(String a, String b, String c, Attributes d)
void
wrapUp()

Methods inherited from class com.sun.msv.reader.trex.TREXBaseReader

createExpressionChildState, endElement, getResult, getResultAsGrammar, getTargetNamespace, startElement, wrapUp

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_BAD_DATA_VALUE

public static final String ERR_BAD_DATA_VALUE

ERR_BAD_FACET

public static final String ERR_BAD_FACET

ERR_INCONSISTENT_COMBINE

public static final String ERR_INCONSISTENT_COMBINE

ERR_INCONSISTENT_KEY_TYPE

public static final String ERR_INCONSISTENT_KEY_TYPE

ERR_INFOSET_URI_ATTRIBUTE

public static final String ERR_INFOSET_URI_ATTRIBUTE

ERR_INVALID_PARAMETERS

public static final String ERR_INVALID_PARAMETERS

ERR_MULTIPLE_EXCEPT

public static final String ERR_MULTIPLE_EXCEPT

ERR_NAKED_INFINITE_ATTRIBUTE_NAMECLASS

public static final String ERR_NAKED_INFINITE_ATTRIBUTE_NAMECLASS

ERR_NOT_ABSOLUTE_URI

public static final String ERR_NOT_ABSOLUTE_URI

ERR_REDEFINING_UNDEFINED

public static final String ERR_REDEFINING_UNDEFINED

ERR_UNDEFINED_DATATYPE_1

public static final String ERR_UNDEFINED_DATATYPE_1

ERR_UNDEFINED_KEY

public static final String ERR_UNDEFINED_KEY

ERR_UNKNOWN_DATATYPE_VOCABULARY_1

public static final String ERR_UNKNOWN_DATATYPE_VOCABULARY_1

ERR_XMLNS_ATTRIBUTE

public static final String ERR_XMLNS_ATTRIBUTE

RELAXNGNamespace

public static final String RELAXNGNamespace
Namespace URI of RELAX NG

Constructor Details

RELAXNGReader

public RELAXNGReader(GrammarReaderController controller)
easy-to-use constructor.

RELAXNGReader

public RELAXNGReader(GrammarReaderController controller,
                     SAXParserFactory parserFactory)
easy-to-use constructor.

RELAXNGReader

public RELAXNGReader(GrammarReaderController controller,
                     SAXParserFactory parserFactory,
                     TREXBaseReader.StateFactory stateFactory,
                     ExpressionPool pool)
full constructor

Method Details

createExpressionChildState

public State createExpressionChildState(State parent,
                                        StartTagInfo tag)
this method must be implemented by the derived class to create language-default expresion state.
Overrides:
createExpressionChildState in interface TREXBaseReader
Returns:
null if the start tag is an error.

endDocument

public void endDocument()
            throws SAXException

endElement

public void endElement(String a,
                       String b,
                       String c)
            throws SAXException
Overrides:
endElement in interface TREXBaseReader

getCurrentDatatypeLibrary

public DatatypeLibrary getCurrentDatatypeLibrary()

getDatatypeLibraryFactory

public DatatypeLibraryFactory getDatatypeLibraryFactory()
Returns the datatypeLibraryFactory.

getRELAXNGSchema4Schema

public static Schema getRELAXNGSchema4Schema()

parse

public static TREXGrammar parse(InputSource grammar,
                                SAXParserFactory factory,
                                GrammarReaderController controller)
loads RELAX NG pattern

parse

public static TREXGrammar parse(String grammarURL,
                                SAXParserFactory factory,
                                GrammarReaderController controller)
loads RELAX NG pattern

resolveDataType

public Datatype resolveDataType(String localName)
obtains a named DataType object referenced by a local name.

resolveDataTypeLibrary

public DatatypeLibrary resolveDataTypeLibrary(String uri)
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.

resolveNamespacePrefix

public String resolveNamespacePrefix(String prefix)
Overrides:
resolveNamespacePrefix in interface GrammarReader

setDatatypeLibraryFactory

public void setDatatypeLibraryFactory(DatatypeLibraryFactory datatypeLibraryFactory)
Sets the datatypeLibraryFactory.

startDocument

public void startDocument()
            throws SAXException

startElement

public void startElement(String a,
                         String b,
                         String c,
                         Attributes d)
            throws SAXException
Overrides:
startElement in interface TREXBaseReader

wrapUp

public void wrapUp()
Overrides:
wrapUp in interface TREXBaseReader