com.sun.msv.reader.trex.ng.comp

Class RELAXNGCompReader

Implemented Interfaces:
IDContextProvider2, ValidationContext

public class RELAXNGCompReader
extends RELAXNGReader

reads RELAX NG grammar with DTD compatibility annotation and constructs abstract grammar model.
Author:
Kohsuke KAWAGUCHI

Nested Class Summary

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

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

RELAXNGReader.StateFactory

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
AnnotationNamespace
Namespace URI of RELAX NG DTD compatibility annotation
static String
CERR_ANN_CHILD_ELEMENT
static String
CERR_ANN_INVALID_ATTRIBUTE
static String
CERR_ANN_MISPLACED

Fields inherited from class com.sun.msv.reader.trex.ng.RELAXNGReader

ERR_BAD_DATA_VALUE, ERR_BAD_FACET, ERR_INCONSISTENT_COMBINE, ERR_INCONSISTENT_KEY_TYPE, ERR_INFOSET_URI_ATTRIBUTE, ERR_INVALID_PARAMETERS, ERR_MULTIPLE_EXCEPT, ERR_NAKED_INFINITE_ATTRIBUTE_NAMECLASS, ERR_NOT_ABSOLUTE_URI, ERR_REDEFINING_UNDEFINED, ERR_UNDEFINED_DATATYPE_1, ERR_UNDEFINED_KEY, ERR_UNKNOWN_DATATYPE_VOCABULARY_1, ERR_XMLNS_ATTRIBUTE, RELAXNGNamespace

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

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

Method Summary

void
endElement(String uri, String local, String qname)
static TREXGrammar
parse(InputSource grammar, GrammarReaderController controller)
loads RELAX NG pattern.
static TREXGrammar
parse(String grammarURL, GrammarReaderController controller)
loads RELAX NG pattern.
void
startElement(String uri, String local, String qname, Attributes atts)
void
wrapUp()
performs final wrap-up.

Methods inherited from class com.sun.msv.reader.trex.ng.RELAXNGReader

createExpressionChildState, endDocument, endElement, getCurrentDatatypeLibrary, getDatatypeLibraryFactory, getRELAXNGSchema4Schema, parse, parse, resolveDataType, resolveDataTypeLibrary, resolveNamespacePrefix, setDatatypeLibraryFactory, startDocument, startElement, 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

AnnotationNamespace

public static final String AnnotationNamespace
Namespace URI of RELAX NG DTD compatibility annotation

CERR_ANN_CHILD_ELEMENT

public static final String CERR_ANN_CHILD_ELEMENT

CERR_ANN_INVALID_ATTRIBUTE

public static final String CERR_ANN_INVALID_ATTRIBUTE

CERR_ANN_MISPLACED

public static final String CERR_ANN_MISPLACED

Constructor Details

RELAXNGCompReader

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

RELAXNGCompReader

public RELAXNGCompReader(GrammarReaderController controller,
                         SAXParserFactory parserFactory,
                         ExpressionPool pool)
easy-to-use constructor.

RELAXNGCompReader

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

Method Details

endElement

public void endElement(String uri,
                       String local,
                       String qname)
            throws SAXException
Overrides:
endElement in interface RELAXNGReader

parse

public static TREXGrammar parse(InputSource grammar,
                                GrammarReaderController controller)
loads RELAX NG pattern.
Returns:
it always returns RELAXNGGrammar, but due to the restriction imposed by Java language, I cannot change the signature of this method.

parse

public static TREXGrammar parse(String grammarURL,
                                GrammarReaderController controller)
loads RELAX NG pattern.
Returns:
it always returns RELAXNGGrammar, but due to the restriction imposed by Java language, I cannot change the signature of this method.

startElement

public void startElement(String uri,
                         String local,
                         String qname,
                         Attributes atts)
            throws SAXException
Overrides:
startElement in interface RELAXNGReader

wrapUp

public void wrapUp()
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 interface RELAXNGReader