com.sun.msv.reader
public abstract class GrammarReader extends org.xml.sax.helpers.XMLFilterImpl implements IDContextProvider2
Or you may want to use several pre-defined static "parse" methods for ease of use.GrammarReader reader = new RELAXGrammarReader(...); XMLReader parser = .... // create a new XMLReader here parser.setContentHandler(reader); parser.parse(whateverYouLike); return reader.grammar; // obtain parsed grammar.
Modifier and Type | Class and Description |
---|---|
static interface |
GrammarReader.BackPatch |
class |
GrammarReader.BackwardReferenceMap
memorizes what declarations are referenced from where.
|
class |
GrammarReader.ChainPrefixResolver |
static interface |
GrammarReader.PrefixResolver
namespace prefix to URI conversion map.
|
Modifier and Type | Field and Description |
---|---|
GrammarReader.BackwardReferenceMap |
backwardReference
keeps track of all backward references to every ReferenceExp.
|
static GrammarReader.PrefixResolver |
basePrefixResolver
The namespace prefix resolver that only resolves "xml" prefix.
|
Controller |
controller
this object receives errors and warnings
|
static java.lang.String |
ERR_BAD_ATTRIBUTE_VALUE |
static java.lang.String |
ERR_BAD_TYPE |
static java.lang.String |
ERR_CHARACTERS |
static java.lang.String |
ERR_CONFLICTING_ATTRIBUTES |
static java.lang.String |
ERR_DATATYPE_ALREADY_DEFINED |
static java.lang.String |
ERR_DISALLOWED_ATTRIBUTE |
static java.lang.String |
ERR_FRAGMENT_IDENTIFIER |
static java.lang.String |
ERR_ILLEGAL_FINAL_VALUE |
static java.lang.String |
ERR_MALPLACED_ELEMENT |
static java.lang.String |
ERR_MISSING_ATTRIBUTE |
static java.lang.String |
ERR_MISSING_ATTRIBUTE_2 |
static java.lang.String |
ERR_MISSING_CHILD_EXPRESSION |
static java.lang.String |
ERR_MISSING_CHILD_TYPE |
static java.lang.String |
ERR_MISSING_TOPLEVEL |
static java.lang.String |
ERR_MORE_THAN_ONE_CHILD_EXPRESSION |
static java.lang.String |
ERR_MORE_THAN_ONE_CHILD_TYPE |
static java.lang.String |
ERR_RECURSIVE_DATATYPE |
static java.lang.String |
ERR_RECURSIVE_INCLUDE |
static java.lang.String |
ERR_RUNAWAY_EXPRESSION |
static java.lang.String |
ERR_UNDEFINED_DATATYPE |
org.xml.sax.Locator |
locator
document Locator that is given by XML reader
|
javax.xml.parsers.SAXParserFactory |
parserFactory
Reader may create another SAXParser from this factory
|
ExpressionPool |
pool
this object must be used to create a new expression
|
GrammarReader.PrefixResolver |
prefixResolver |
static java.lang.String |
WRN_DEPRECATED_TYPENAME |
static java.lang.String |
WRN_MAYBE_WRONG_NAMESPACE |
Modifier and Type | Method and Description |
---|---|
void |
_parse(java.lang.Object source,
org.xml.sax.Locator errorSource)
parses a grammar from the specified source
|
void |
addBackPatchJob(GrammarReader.BackPatch job) |
void |
addBackPatchJob(XSDatatypeExp job) |
java.lang.String |
combineURI(java.lang.String baseURI,
java.lang.String relativeURI)
converts the relative URL to the absolute one by using the specified base URL.
|
java.lang.String |
combineURL(java.lang.String baseURI,
java.lang.String relativeURI)
Deprecated.
use the combineURI method.
|
abstract State |
createExpressionChildState(State parent,
StartTagInfo tag)
this method must be implemented by the derived class to create
language-default expresion state.
|
void |
detectUndefinedOnes(ReferenceContainer container,
java.lang.String errMsg)
detects undefined ReferenceExp and reports it as an error.
|
void |
endPrefixMapping(java.lang.String prefix) |
com.sun.msv.datatype.xsd.XSDatatype |
getBackwardCompatibleType(java.lang.String typeName)
tries to obtain a DataType object by resolving obsolete names.
|
java.lang.String |
getBaseUri() |
State |
getCurrentState()
gets current State object.
|
org.xml.sax.Locator |
getDeclaredLocationOf(java.lang.Object o) |
abstract Grammar |
getResultAsGrammar()
gets the parsed AGM.
|
boolean |
isNotation(java.lang.String notationName) |
boolean |
isUnparsedEntity(java.lang.String entityName) |
java.util.Iterator |
iterateInscopeNamespaces()
Iterates Map.Entry objects which has the prefix as key and
the namespace URI as value.
|
void |
onID(org.relaxng.datatype.Datatype dt,
StringToken token)
this method is called when a type with ID semantics is matched.
|
void |
parse(org.xml.sax.InputSource source)
parses a grammar from the specified source
|
void |
parse(java.lang.String source)
parses a grammar from the specified source
|
void |
popState()
pops the previous state from the stack
|
void |
pushState(State newState,
State parentState,
StartTagInfo startTag)
pushs the current state into the stack and sets new one
|
void |
reportError(java.lang.Exception nestedException,
java.lang.String propertyName) |
void |
reportError(java.lang.Exception nestedException,
java.lang.String propertyName,
java.lang.Object arg1) |
void |
reportError(org.xml.sax.Locator[] locs,
java.lang.String propertyName,
java.lang.Object[] args) |
void |
reportError(java.lang.String propertyName) |
void |
reportError(java.lang.String propertyName,
java.lang.Object arg1) |
void |
reportError(java.lang.String propertyName,
java.lang.Object[] args,
java.lang.Exception nestedException,
org.xml.sax.Locator[] errorLocations)
reports an error to the controller
|
void |
reportError(java.lang.String propertyName,
java.lang.Object arg1,
java.lang.Object arg2) |
void |
reportError(java.lang.String propertyName,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3) |
void |
reportWarning(java.lang.String propertyName) |
void |
reportWarning(java.lang.String propertyName,
java.lang.Object arg1) |
void |
reportWarning(java.lang.String propertyName,
java.lang.Object[] args,
org.xml.sax.Locator[] locations)
reports a warning to the controller
|
void |
reportWarning(java.lang.String propertyName,
java.lang.Object arg1,
java.lang.Object arg2) |
org.xml.sax.InputSource |
resolveLocation(State sourceState,
java.lang.String uri)
obtains InputSource for the specified url.
|
java.lang.String |
resolveNamespacePrefix(java.lang.String prefix) |
void |
runBackPatchJob()
Performs all back-patchings.
|
void |
setDeclaredLocationOf(java.lang.Object o) |
void |
setDocumentLocator(org.xml.sax.Locator loc) |
java.lang.String[] |
splitQName(java.lang.String qName)
Resolves a QName into a pair of (namespace URI,local name).
|
void |
startPrefixMapping(java.lang.String prefix,
java.lang.String uri) |
void |
switchSource(org.xml.sax.InputSource source,
State newState) |
void |
switchSource(State sourceState,
java.lang.String url,
State newState)
Switchs InputSource to the specified URL and
parses it by the specified state.
|
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
public org.xml.sax.Locator locator
public final Controller controller
public final javax.xml.parsers.SAXParserFactory parserFactory
public final ExpressionPool pool
public static final GrammarReader.PrefixResolver basePrefixResolver
public GrammarReader.PrefixResolver prefixResolver
public final GrammarReader.BackwardReferenceMap backwardReference
public static final java.lang.String ERR_MALPLACED_ELEMENT
public static final java.lang.String ERR_CHARACTERS
public static final java.lang.String ERR_DISALLOWED_ATTRIBUTE
public static final java.lang.String ERR_MISSING_ATTRIBUTE
public static final java.lang.String ERR_BAD_ATTRIBUTE_VALUE
public static final java.lang.String ERR_MISSING_ATTRIBUTE_2
public static final java.lang.String ERR_CONFLICTING_ATTRIBUTES
public static final java.lang.String ERR_RECURSIVE_INCLUDE
public static final java.lang.String ERR_FRAGMENT_IDENTIFIER
public static final java.lang.String ERR_UNDEFINED_DATATYPE
public static final java.lang.String ERR_DATATYPE_ALREADY_DEFINED
public static final java.lang.String ERR_MISSING_CHILD_EXPRESSION
public static final java.lang.String ERR_MORE_THAN_ONE_CHILD_EXPRESSION
public static final java.lang.String ERR_MORE_THAN_ONE_CHILD_TYPE
public static final java.lang.String ERR_MISSING_CHILD_TYPE
public static final java.lang.String ERR_ILLEGAL_FINAL_VALUE
public static final java.lang.String ERR_RUNAWAY_EXPRESSION
public static final java.lang.String ERR_MISSING_TOPLEVEL
public static final java.lang.String WRN_MAYBE_WRONG_NAMESPACE
public static final java.lang.String WRN_DEPRECATED_TYPENAME
public static final java.lang.String ERR_BAD_TYPE
public static final java.lang.String ERR_RECURSIVE_DATATYPE
public abstract Grammar getResultAsGrammar()
public void startPrefixMapping(java.lang.String prefix, java.lang.String uri) throws org.xml.sax.SAXException
startPrefixMapping
in interface org.xml.sax.ContentHandler
startPrefixMapping
in class org.xml.sax.helpers.XMLFilterImpl
org.xml.sax.SAXException
public void endPrefixMapping(java.lang.String prefix) throws org.xml.sax.SAXException
endPrefixMapping
in interface org.xml.sax.ContentHandler
endPrefixMapping
in class org.xml.sax.helpers.XMLFilterImpl
org.xml.sax.SAXException
public java.util.Iterator iterateInscopeNamespaces()
public java.lang.String[] splitQName(java.lang.String qName)
public com.sun.msv.datatype.xsd.XSDatatype getBackwardCompatibleType(java.lang.String typeName)
public final org.xml.sax.InputSource resolveLocation(State sourceState, java.lang.String uri) throws AbortException
sourceState
- The base URI of this state is used to resolve the resource.AbortException
public final java.lang.String combineURI(java.lang.String baseURI, java.lang.String relativeURI)
public final java.lang.String combineURL(java.lang.String baseURI, java.lang.String relativeURI)
public void switchSource(State sourceState, java.lang.String url, State newState) throws AbortException
sourceState
- this state is used to resolve the URL.newState
- this state will parse top-level of new XML source.
this state receives document element by its createChildState method.AbortException
public void switchSource(org.xml.sax.InputSource source, State newState)
public final void parse(java.lang.String source)
parse
in interface org.xml.sax.XMLReader
parse
in class org.xml.sax.helpers.XMLFilterImpl
public final void parse(org.xml.sax.InputSource source)
parse
in interface org.xml.sax.XMLReader
parse
in class org.xml.sax.helpers.XMLFilterImpl
public final void _parse(java.lang.Object source, org.xml.sax.Locator errorSource)
public void setDeclaredLocationOf(java.lang.Object o)
public org.xml.sax.Locator getDeclaredLocationOf(java.lang.Object o)
public void detectUndefinedOnes(ReferenceContainer container, java.lang.String errMsg)
public void pushState(State newState, State parentState, StartTagInfo startTag)
public void popState()
public final State getCurrentState()
public abstract State createExpressionChildState(State parent, StartTagInfo tag)
public void setDocumentLocator(org.xml.sax.Locator loc)
setDocumentLocator
in interface org.xml.sax.ContentHandler
setDocumentLocator
in class org.xml.sax.helpers.XMLFilterImpl
public java.lang.String resolveNamespacePrefix(java.lang.String prefix)
resolveNamespacePrefix
in interface org.relaxng.datatype.ValidationContext
public boolean isUnparsedEntity(java.lang.String entityName)
isUnparsedEntity
in interface org.relaxng.datatype.ValidationContext
public boolean isNotation(java.lang.String notationName)
isNotation
in interface org.relaxng.datatype.ValidationContext
public java.lang.String getBaseUri()
getBaseUri
in interface org.relaxng.datatype.ValidationContext
public final void onID(org.relaxng.datatype.Datatype dt, StringToken token)
IDContextProvider2
onID
in interface IDContextProvider2
public final void addBackPatchJob(GrammarReader.BackPatch job)
public final void addBackPatchJob(XSDatatypeExp job)
public final void runBackPatchJob()
public final void reportError(java.lang.String propertyName)
public final void reportError(java.lang.String propertyName, java.lang.Object arg1)
public final void reportError(java.lang.String propertyName, java.lang.Object arg1, java.lang.Object arg2)
public final void reportError(java.lang.String propertyName, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
public final void reportError(java.lang.Exception nestedException, java.lang.String propertyName)
public final void reportError(java.lang.Exception nestedException, java.lang.String propertyName, java.lang.Object arg1)
public final void reportError(org.xml.sax.Locator[] locs, java.lang.String propertyName, java.lang.Object[] args)
public final void reportWarning(java.lang.String propertyName)
public final void reportWarning(java.lang.String propertyName, java.lang.Object arg1)
public final void reportWarning(java.lang.String propertyName, java.lang.Object arg1, java.lang.Object arg2)
public final void reportError(java.lang.String propertyName, java.lang.Object[] args, java.lang.Exception nestedException, org.xml.sax.Locator[] errorLocations)
public final void reportWarning(java.lang.String propertyName, java.lang.Object[] args, org.xml.sax.Locator[] locations)