public final class GenericMsvValidator
extends org.codehaus.stax2.validation.XMLValidator
implements com.sun.msv.grammar.IDContextProvider2
Note about id context provider interface: while it'd be nice to separate that part out, it is unfortunately closely tied to the validation process. Hence it's directly implemented by this class.
| Modifier and Type | Field and Description |
|---|---|
(package private) java.util.ArrayList<java.lang.Object> |
mAcceptors |
(package private) AttributeProxy |
mAttributeProxy
This object provides limited access to attribute values of the
currently validated element.
|
(package private) org.codehaus.stax2.validation.ValidationContext |
mContext |
(package private) com.sun.msv.verifier.Acceptor |
mCurrAcceptor |
(package private) java.lang.String |
mCurrAttrLocalName |
(package private) java.lang.String |
mCurrAttrPrefix |
(package private) com.sun.msv.util.StringRef |
mErrorRef |
(package private) ElementIdMap |
mIdDefs
Map that contains information about element id (values of attributes
or textual content with type ID) declarations and references
|
(package private) org.codehaus.stax2.validation.XMLValidationSchema |
mParentSchema |
(package private) org.codehaus.stax2.validation.XMLValidationProblem |
mProblem
Sometimes a problem object has to be temporarily
stored, and only reported later on.
|
(package private) com.sun.msv.util.StartTagInfo |
mStartTag
StartTagInfo instance need not be thread-safe, and it is not immutable
so let's reuse one instance during a single validation.
|
(package private) TextAccumulator |
mTextAccumulator |
(package private) com.sun.msv.verifier.DocumentDeclaration |
mVGM |
| Constructor and Description |
|---|
GenericMsvValidator(org.codehaus.stax2.validation.XMLValidationSchema parent,
org.codehaus.stax2.validation.ValidationContext ctxt,
com.sun.msv.verifier.DocumentDeclaration vgm) |
| Modifier and Type | Method and Description |
|---|---|
(package private) void |
doValidateText(TextAccumulator textAcc) |
java.lang.String |
getAttributeType(int index) |
(package private) PrefixedName |
getAttrPName() |
java.lang.String |
getBaseUri() |
(package private) PrefixedName |
getElementPName() |
int |
getIdAttrIndex() |
int |
getNotationAttrIndex() |
org.codehaus.stax2.validation.XMLValidationSchema |
getSchema() |
boolean |
isNotation(java.lang.String notationName) |
boolean |
isUnparsedEntity(java.lang.String entityName) |
void |
onID(org.relaxng.datatype.Datatype datatype,
com.sun.msv.verifier.regexp.StringToken idToken)
Note: we have to throw a dummy marker exception, which merely
signals that a validation problem is to be reported.
|
private void |
reportError(java.lang.String msg) |
private void |
reportError(java.lang.String msg,
javax.xml.stream.Location loc) |
private void |
reportError(com.sun.msv.util.StringRef errorRef) |
java.lang.String |
resolveNamespacePrefix(java.lang.String prefix) |
java.lang.String |
validateAttribute(java.lang.String localName,
java.lang.String uri,
java.lang.String prefix,
char[] valueChars,
int valueStart,
int valueEnd) |
java.lang.String |
validateAttribute(java.lang.String localName,
java.lang.String uri,
java.lang.String prefix,
java.lang.String value) |
int |
validateElementAndAttributes() |
int |
validateElementEnd(java.lang.String localName,
java.lang.String uri,
java.lang.String prefix) |
void |
validateElementStart(java.lang.String localName,
java.lang.String uri,
java.lang.String prefix)
Method called to update information about the newly encountered (start)
element.
|
void |
validateText(char[] cbuf,
int textStart,
int textEnd,
boolean lastTextSegment) |
void |
validateText(java.lang.String text,
boolean lastTextSegment) |
void |
validationCompleted(boolean eod) |
final org.codehaus.stax2.validation.XMLValidationSchema mParentSchema
final org.codehaus.stax2.validation.ValidationContext mContext
final com.sun.msv.verifier.DocumentDeclaration mVGM
final java.util.ArrayList<java.lang.Object> mAcceptors
com.sun.msv.verifier.Acceptor mCurrAcceptor
final TextAccumulator mTextAccumulator
ElementIdMap mIdDefs
java.lang.String mCurrAttrPrefix
java.lang.String mCurrAttrLocalName
org.codehaus.stax2.validation.XMLValidationProblem mProblem
final com.sun.msv.util.StringRef mErrorRef
final com.sun.msv.util.StartTagInfo mStartTag
final AttributeProxy mAttributeProxy
public GenericMsvValidator(org.codehaus.stax2.validation.XMLValidationSchema parent,
org.codehaus.stax2.validation.ValidationContext ctxt,
com.sun.msv.verifier.DocumentDeclaration vgm)
public java.lang.String getBaseUri()
getBaseUri in interface org.relaxng.datatype.ValidationContextpublic boolean isNotation(java.lang.String notationName)
isNotation in interface org.relaxng.datatype.ValidationContextpublic boolean isUnparsedEntity(java.lang.String entityName)
isUnparsedEntity in interface org.relaxng.datatype.ValidationContextpublic java.lang.String resolveNamespacePrefix(java.lang.String prefix)
resolveNamespacePrefix in interface org.relaxng.datatype.ValidationContextpublic void onID(org.relaxng.datatype.Datatype datatype,
com.sun.msv.verifier.regexp.StringToken idToken)
throws java.lang.IllegalArgumentException
Note: we have to throw a dummy marker exception, which merely signals that a validation problem is to be reported. This is obviously messy, but has to do for now.
onID in interface com.sun.msv.grammar.IDContextProvider2java.lang.IllegalArgumentExceptionpublic org.codehaus.stax2.validation.XMLValidationSchema getSchema()
getSchema in class org.codehaus.stax2.validation.XMLValidatorpublic void validateElementStart(java.lang.String localName,
java.lang.String uri,
java.lang.String prefix)
throws javax.xml.stream.XMLStreamException
validateElementStart in class org.codehaus.stax2.validation.XMLValidatorjavax.xml.stream.XMLStreamExceptionpublic java.lang.String validateAttribute(java.lang.String localName,
java.lang.String uri,
java.lang.String prefix,
java.lang.String value)
throws javax.xml.stream.XMLStreamException
validateAttribute in class org.codehaus.stax2.validation.XMLValidatorjavax.xml.stream.XMLStreamExceptionpublic java.lang.String validateAttribute(java.lang.String localName,
java.lang.String uri,
java.lang.String prefix,
char[] valueChars,
int valueStart,
int valueEnd)
throws javax.xml.stream.XMLStreamException
validateAttribute in class org.codehaus.stax2.validation.XMLValidatorjavax.xml.stream.XMLStreamExceptionpublic int validateElementAndAttributes()
throws javax.xml.stream.XMLStreamException
validateElementAndAttributes in class org.codehaus.stax2.validation.XMLValidatorjavax.xml.stream.XMLStreamExceptionpublic int validateElementEnd(java.lang.String localName,
java.lang.String uri,
java.lang.String prefix)
throws javax.xml.stream.XMLStreamException
validateElementEnd in class org.codehaus.stax2.validation.XMLValidatorjavax.xml.stream.XMLStreamExceptionpublic void validateText(java.lang.String text,
boolean lastTextSegment)
throws javax.xml.stream.XMLStreamException
validateText in class org.codehaus.stax2.validation.XMLValidatorjavax.xml.stream.XMLStreamExceptionpublic void validateText(char[] cbuf,
int textStart,
int textEnd,
boolean lastTextSegment)
throws javax.xml.stream.XMLStreamException
validateText in class org.codehaus.stax2.validation.XMLValidatorjavax.xml.stream.XMLStreamExceptionpublic void validationCompleted(boolean eod)
throws javax.xml.stream.XMLStreamException
validationCompleted in class org.codehaus.stax2.validation.XMLValidatorjavax.xml.stream.XMLStreamExceptionpublic java.lang.String getAttributeType(int index)
getAttributeType in class org.codehaus.stax2.validation.XMLValidatorpublic int getIdAttrIndex()
getIdAttrIndex in class org.codehaus.stax2.validation.XMLValidatorpublic int getNotationAttrIndex()
getNotationAttrIndex in class org.codehaus.stax2.validation.XMLValidatorPrefixedName getElementPName()
PrefixedName getAttrPName()
void doValidateText(TextAccumulator textAcc) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionprivate void reportError(com.sun.msv.util.StringRef errorRef)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionprivate void reportError(java.lang.String msg)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionprivate void reportError(java.lang.String msg,
javax.xml.stream.Location loc)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException