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

java.lang.Object
  extended by org.xml.sax.helpers.XMLFilterImpl
      extended by com.sun.msv.reader.GrammarReader
          extended by com.sun.msv.reader.trex.TREXBaseReader
              extended by com.sun.msv.reader.trex.ng.RELAXNGReader
                  extended by com.sun.msv.reader.trex.ng.comp.RELAXNGCompReader
All Implemented Interfaces:
IDContextProvider2, ValidationContext, ContentHandler, DTDHandler, EntityResolver, ErrorHandler, XMLFilter, XMLReader

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.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, sfactory, WRN_COMBINE_IGNORED, WRN_OBSOLETED_XMLSCHEMA_NAMSPACE
 
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
RELAXNGCompReader(GrammarReaderController controller)
          easy-to-use constructor.
RELAXNGCompReader(GrammarReaderController controller, SAXParserFactory parserFactory, ExpressionPool pool)
          easy-to-use constructor.
RELAXNGCompReader(GrammarReaderController controller, SAXParserFactory parserFactory, RELAXNGCompReader.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, getCurrentDatatypeLibrary, getDatatypeLibraryFactory, getRELAXNGSchema4Schema, parse, parse, resolveDataType, resolveDataTypeLibrary, resolveNamespacePrefix, setDatatypeLibraryFactory, startDocument
 
Methods inherited from class com.sun.msv.reader.trex.TREXBaseReader
getResult, getResultAsGrammar, getTargetNamespace
 
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, runBackPatchJob, setDeclaredLocationOf, setDocumentLocator, splitQName, startPrefixMapping, switchSource, switchSource
 
Methods inherited from class org.xml.sax.helpers.XMLFilterImpl
characters, error, fatalError, getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getParent, getProperty, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setContentHandler, setDTDHandler, setEntityResolver, setErrorHandler, setFeature, setParent, setProperty, skippedEntity, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AnnotationNamespace

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

See Also:
Constant Field Values

CERR_ANN_CHILD_ELEMENT

public static final String CERR_ANN_CHILD_ELEMENT
See Also:
Constant Field Values

CERR_ANN_MISPLACED

public static final String CERR_ANN_MISPLACED
See Also:
Constant Field Values

CERR_ANN_INVALID_ATTRIBUTE

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

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,
                         RELAXNGCompReader.StateFactory stateFactory,
                         ExpressionPool pool)
full constructor

Method Detail

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.

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.

wrapUp

public void wrapUp()
Description copied from class: TREXBaseReader
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 class RELAXNGReader

startElement

public void startElement(String uri,
                         String local,
                         String qname,
                         Attributes atts)
                  throws SAXException
Specified by:
startElement in interface ContentHandler
Overrides:
startElement in class RELAXNGReader
Throws:
SAXException

endElement

public void endElement(String uri,
                       String local,
                       String qname)
                throws SAXException
Specified by:
endElement in interface ContentHandler
Overrides:
endElement in class RELAXNGReader
Throws:
SAXException