public final class GenericMsvValidator
extends org.codehaus.stax2.validation.XMLValidator
implements com.sun.msv.grammar.IDContextProvider2, javax.xml.stream.XMLStreamConstants
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.
|
protected java.lang.String |
mStartTagPrefix
Since `StartTagInfo` has no place for prefix, hold reference to one here
|
(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 |
---|---|
private java.lang.String |
_name(javax.xml.namespace.QName qn,
java.lang.String prefix,
java.lang.String suffix) |
private javax.xml.namespace.QName |
_qname(java.lang.String ns,
java.lang.String local,
java.lang.String prefix) |
private javax.xml.namespace.QName |
_startTagAsQName() |
(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,
int type,
javax.xml.namespace.QName name) |
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
protected java.lang.String mStartTagPrefix
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.ValidationContext
public boolean isNotation(java.lang.String notationName)
isNotation
in interface org.relaxng.datatype.ValidationContext
public boolean isUnparsedEntity(java.lang.String entityName)
isUnparsedEntity
in interface org.relaxng.datatype.ValidationContext
public java.lang.String resolveNamespacePrefix(java.lang.String prefix)
resolveNamespacePrefix
in interface org.relaxng.datatype.ValidationContext
public 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.IDContextProvider2
java.lang.IllegalArgumentException
public org.codehaus.stax2.validation.XMLValidationSchema getSchema()
getSchema
in class org.codehaus.stax2.validation.XMLValidator
public 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.XMLValidator
javax.xml.stream.XMLStreamException
public 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.XMLValidator
javax.xml.stream.XMLStreamException
public 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.XMLValidator
javax.xml.stream.XMLStreamException
public int validateElementAndAttributes() throws javax.xml.stream.XMLStreamException
validateElementAndAttributes
in class org.codehaus.stax2.validation.XMLValidator
javax.xml.stream.XMLStreamException
public 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.XMLValidator
javax.xml.stream.XMLStreamException
public void validateText(java.lang.String text, boolean lastTextSegment) throws javax.xml.stream.XMLStreamException
validateText
in class org.codehaus.stax2.validation.XMLValidator
javax.xml.stream.XMLStreamException
public void validateText(char[] cbuf, int textStart, int textEnd, boolean lastTextSegment) throws javax.xml.stream.XMLStreamException
validateText
in class org.codehaus.stax2.validation.XMLValidator
javax.xml.stream.XMLStreamException
public void validationCompleted(boolean eod) throws javax.xml.stream.XMLStreamException
validationCompleted
in class org.codehaus.stax2.validation.XMLValidator
javax.xml.stream.XMLStreamException
public java.lang.String getAttributeType(int index)
getAttributeType
in class org.codehaus.stax2.validation.XMLValidator
public int getIdAttrIndex()
getIdAttrIndex
in class org.codehaus.stax2.validation.XMLValidator
public int getNotationAttrIndex()
getNotationAttrIndex
in class org.codehaus.stax2.validation.XMLValidator
PrefixedName getElementPName()
PrefixedName getAttrPName()
void doValidateText(TextAccumulator textAcc) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
private void reportError(com.sun.msv.util.StringRef errorRef, int type, javax.xml.namespace.QName name) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
private void reportError(java.lang.String msg) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
private void reportError(java.lang.String msg, javax.xml.stream.Location loc) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
private java.lang.String _name(javax.xml.namespace.QName qn, java.lang.String prefix, java.lang.String suffix)
private javax.xml.namespace.QName _startTagAsQName()
private javax.xml.namespace.QName _qname(java.lang.String ns, java.lang.String local, java.lang.String prefix)