public class RELAXNGReader extends TREXBaseReader
Modifier and Type | Class and Description |
---|---|
private static class |
RELAXNGReader.AbortException |
protected static class |
RELAXNGReader.RefExpParseInfo
information necessary to correctly parse pattern definitions.
|
static class |
RELAXNGReader.StateFactory
creates various State object, which in turn parses grammar.
|
GrammarReader.BackPatch, GrammarReader.BackwardReferenceMap, GrammarReader.ChainPrefixResolver, GrammarReader.PrefixResolver
Modifier and Type | Field and Description |
---|---|
protected RELAXNGReader.RefExpParseInfo |
currentNamedPattern
Info about the current ReferenceExp object which is being defined.
|
private org.relaxng.datatype.DatatypeLibrary |
datatypeLib
currently active datatype library.
|
private org.relaxng.datatype.DatatypeLibraryFactory |
datatypeLibraryFactory
DatatypeLibrary factory object.
|
protected java.lang.String |
datatypeLibURI
the namespace URI of the currently active datatype library.
|
protected boolean |
directRefernce
Flag to indicate whether we saw <element> or not.
|
private LightStack |
dtLibStack |
private LightStack |
dtLibURIStack |
static java.lang.String |
ERR_BAD_DATA_VALUE |
static java.lang.String |
ERR_BAD_FACET |
static java.lang.String |
ERR_INCONSISTENT_COMBINE |
static java.lang.String |
ERR_INCONSISTENT_KEY_TYPE |
static java.lang.String |
ERR_INFOSET_URI_ATTRIBUTE |
static java.lang.String |
ERR_INVALID_PARAMETERS |
static java.lang.String |
ERR_MULTIPLE_EXCEPT |
static java.lang.String |
ERR_NAKED_INFINITE_ATTRIBUTE_NAMECLASS |
static java.lang.String |
ERR_NOT_ABSOLUTE_URI |
static java.lang.String |
ERR_REDEFINING_UNDEFINED |
static java.lang.String |
ERR_UNDEFINED_DATATYPE_1 |
static java.lang.String |
ERR_UNDEFINED_KEY |
static java.lang.String |
ERR_UNKNOWN_DATATYPE_VOCABULARY_1 |
static java.lang.String |
ERR_XMLNS_ATTRIBUTE |
private java.util.Map |
refExpParseInfos
Map from ReferenceExps to RefExpParseInfos.
|
static java.lang.String |
RELAXNGNamespace
Namespace URI of RELAX NG
|
protected static org.iso_relax.verifier.Schema |
relaxNGSchema4Schema
Schema for schema of RELAX NG.
|
protected RestrictionChecker |
restrictionChecker
Contextual restriction checker.
|
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, grammar, sfactory, targetNamespace, WRN_COMBINE_IGNORED, WRN_OBSOLETED_XMLSCHEMA_NAMSPACE
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, parserFactory, pool, prefixResolver, WRN_DEPRECATED_TYPENAME, WRN_MAYBE_WRONG_NAMESPACE
Constructor and Description |
---|
RELAXNGReader(GrammarReaderController controller)
easy-to-use constructor.
|
RELAXNGReader(GrammarReaderController controller,
javax.xml.parsers.SAXParserFactory parserFactory)
easy-to-use constructor.
|
RELAXNGReader(GrammarReaderController controller,
javax.xml.parsers.SAXParserFactory parserFactory,
RELAXNGReader.StateFactory stateFactory,
ExpressionPool pool)
full constructor
|
Modifier and Type | Method and Description |
---|---|
private void |
checkRunawayExpression(ReferenceExp node,
java.util.Stack items,
java.util.Set visitedExps) |
State |
createExpressionChildState(State parent,
StartTagInfo tag)
this method must be implemented by the derived class to create
language-default expresion state.
|
protected State |
createNameClassChildState(State parent,
StartTagInfo tag) |
void |
endDocument() |
void |
endElement(java.lang.String a,
java.lang.String b,
java.lang.String c) |
org.relaxng.datatype.DatatypeLibrary |
getCurrentDatatypeLibrary() |
org.relaxng.datatype.DatatypeLibraryFactory |
getDatatypeLibraryFactory()
Returns the datatypeLibraryFactory.
|
protected TREXGrammar |
getGrammar() |
protected RELAXNGReader.RefExpParseInfo |
getRefExpParseInfo(ReferenceExp exp)
Gets RefExpParseInfo object for the specified ReferenceExp.
|
static org.iso_relax.verifier.Schema |
getRELAXNGSchema4Schema() |
protected RELAXNGReader.StateFactory |
getStateFactory() |
protected boolean |
isGrammarElement(StartTagInfo tag)
checks if given element is that of the grammar elements.
|
protected java.lang.String |
localizeMessage(java.lang.String propertyName,
java.lang.Object[] args)
formats localized message with arguments
|
static TREXGrammar |
parse(org.xml.sax.InputSource grammar,
javax.xml.parsers.SAXParserFactory factory,
GrammarReaderController controller)
loads RELAX NG pattern
|
static TREXGrammar |
parse(java.lang.String grammarURL,
javax.xml.parsers.SAXParserFactory factory,
GrammarReaderController controller)
loads RELAX NG pattern
|
org.relaxng.datatype.Datatype |
resolveDataType(java.lang.String localName)
obtains a named DataType object referenced by a local name.
|
org.relaxng.datatype.DatatypeLibrary |
resolveDataTypeLibrary(java.lang.String uri)
obtains the DataTypeLibrary that represents the specified namespace URI.
|
java.lang.String |
resolveNamespacePrefix(java.lang.String prefix) |
void |
setDatatypeLibraryFactory(org.relaxng.datatype.DatatypeLibraryFactory datatypeLibraryFactory)
Sets the datatypeLibraryFactory.
|
void |
startDocument() |
void |
startElement(java.lang.String a,
java.lang.String b,
java.lang.String c,
org.xml.sax.Attributes d) |
void |
wrapUp()
performs final wrap-up.
|
getResult, getResultAsGrammar, getTargetNamespace
_parse, addBackPatchJob, addBackPatchJob, combineURI, combineURL, createParserFactory, detectUndefinedOnes, endPrefixMapping, getBackwardCompatibleType, getBaseUri, getCurrentState, getDeclaredLocationOf, getLocator, inputSourceFromLSInput, interceptExpression, isNotation, isUnparsedEntity, iterateInscopeNamespaces, onID, parse, parse, parse, popState, pushState, reportError, reportError, reportError, reportError, reportError, reportError, reportError, reportError, reportWarning, reportWarning, reportWarning, reportWarning, resolveLocation, runBackPatchJob, setDeclaredLocationOf, setDocumentLocator, setLocator, splitQName, startPrefixMapping, switchSource, switchSource, switchSource
characters, error, fatalError, getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getParent, getProperty, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setContentHandler, setDTDHandler, setEntityResolver, setErrorHandler, setFeature, setParent, setProperty, skippedEntity, unparsedEntityDecl, warning
protected static org.iso_relax.verifier.Schema relaxNGSchema4Schema
private final java.util.Map refExpParseInfos
protected RELAXNGReader.RefExpParseInfo currentNamedPattern
This field is set to null when there is an error, or the pattern being defined is being re-defined.
This is a part of the process of the recursive self reference error detection.
protected boolean directRefernce
currentNamedPattern.refs
.
This is a part of the process of the recursive self reference error detection.
public static final java.lang.String RELAXNGNamespace
private org.relaxng.datatype.DatatypeLibraryFactory datatypeLibraryFactory
protected final RestrictionChecker restrictionChecker
private org.relaxng.datatype.DatatypeLibrary datatypeLib
protected java.lang.String datatypeLibURI
private final LightStack dtLibStack
private final LightStack dtLibURIStack
public static final java.lang.String ERR_BAD_FACET
public static final java.lang.String ERR_INVALID_PARAMETERS
public static final java.lang.String ERR_BAD_DATA_VALUE
public static final java.lang.String ERR_UNDEFINED_KEY
public static final java.lang.String ERR_UNDEFINED_DATATYPE_1
public static final java.lang.String ERR_INCONSISTENT_KEY_TYPE
public static final java.lang.String ERR_INCONSISTENT_COMBINE
public static final java.lang.String ERR_REDEFINING_UNDEFINED
public static final java.lang.String ERR_UNKNOWN_DATATYPE_VOCABULARY_1
public static final java.lang.String ERR_MULTIPLE_EXCEPT
public static final java.lang.String ERR_NOT_ABSOLUTE_URI
public static final java.lang.String ERR_INFOSET_URI_ATTRIBUTE
public static final java.lang.String ERR_XMLNS_ATTRIBUTE
public static final java.lang.String ERR_NAKED_INFINITE_ATTRIBUTE_NAMECLASS
public RELAXNGReader(GrammarReaderController controller)
public RELAXNGReader(GrammarReaderController controller, javax.xml.parsers.SAXParserFactory parserFactory)
public RELAXNGReader(GrammarReaderController controller, javax.xml.parsers.SAXParserFactory parserFactory, RELAXNGReader.StateFactory stateFactory, ExpressionPool pool)
public static TREXGrammar parse(java.lang.String grammarURL, javax.xml.parsers.SAXParserFactory factory, GrammarReaderController controller)
public static TREXGrammar parse(org.xml.sax.InputSource grammar, javax.xml.parsers.SAXParserFactory factory, GrammarReaderController controller)
public static org.iso_relax.verifier.Schema getRELAXNGSchema4Schema()
protected java.lang.String localizeMessage(java.lang.String propertyName, java.lang.Object[] args)
GrammarReader
localizeMessage
in class TREXBaseReader
protected TREXGrammar getGrammar()
protected RELAXNGReader.RefExpParseInfo getRefExpParseInfo(ReferenceExp exp)
protected boolean isGrammarElement(StartTagInfo tag)
GrammarReader
isGrammarElement
in class GrammarReader
public org.relaxng.datatype.DatatypeLibraryFactory getDatatypeLibraryFactory()
public void setDatatypeLibraryFactory(org.relaxng.datatype.DatatypeLibraryFactory datatypeLibraryFactory)
protected RELAXNGReader.StateFactory getStateFactory()
protected State createNameClassChildState(State parent, StartTagInfo tag)
createNameClassChildState
in class TREXBaseReader
public State createExpressionChildState(State parent, StartTagInfo tag)
GrammarReader
createExpressionChildState
in class TREXBaseReader
public org.relaxng.datatype.Datatype resolveDataType(java.lang.String localName)
public org.relaxng.datatype.DatatypeLibrary resolveDataTypeLibrary(java.lang.String uri)
private void checkRunawayExpression(ReferenceExp node, java.util.Stack items, java.util.Set visitedExps) throws RELAXNGReader.AbortException
RELAXNGReader.AbortException
public void wrapUp()
TREXBaseReader
This method has to be called after the run-away expression check is done.
wrapUp
in class TREXBaseReader
public org.relaxng.datatype.DatatypeLibrary getCurrentDatatypeLibrary()
public java.lang.String resolveNamespacePrefix(java.lang.String prefix)
resolveNamespacePrefix
in interface org.relaxng.datatype.ValidationContext
resolveNamespacePrefix
in class GrammarReader
public void startDocument() throws org.xml.sax.SAXException
startDocument
in interface org.xml.sax.ContentHandler
startDocument
in class org.xml.sax.helpers.XMLFilterImpl
org.xml.sax.SAXException
public void endDocument() throws org.xml.sax.SAXException
endDocument
in interface org.xml.sax.ContentHandler
endDocument
in class org.xml.sax.helpers.XMLFilterImpl
org.xml.sax.SAXException
public void startElement(java.lang.String a, java.lang.String b, java.lang.String c, org.xml.sax.Attributes d) throws org.xml.sax.SAXException
startElement
in interface org.xml.sax.ContentHandler
startElement
in class TREXBaseReader
org.xml.sax.SAXException
public void endElement(java.lang.String a, java.lang.String b, java.lang.String c) throws org.xml.sax.SAXException
endElement
in interface org.xml.sax.ContentHandler
endElement
in class TREXBaseReader
org.xml.sax.SAXException