Package com.ctc.wstx.msv
Class GenericMsvValidator
java.lang.Object
org.codehaus.stax2.validation.XMLValidator
com.ctc.wstx.msv.GenericMsvValidator
- All Implemented Interfaces:
com.sun.msv.grammar.IDContextProvider2,XMLStreamConstants,org.relaxng.datatype.ValidationContext
public final class GenericMsvValidator
extends org.codehaus.stax2.validation.XMLValidator
implements com.sun.msv.grammar.IDContextProvider2, XMLStreamConstants
Generic validator instance to be used for all Multi-Schema Validator
backed implementations. A common class can be used since functionality
is almost identical between variants (RNG, W3C SChema); minor
differences that exist can be configured by settings provided.
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected StringSince `StartTagInfo` has no place for prefix, hold reference to one hereFields inherited from class org.codehaus.stax2.validation.XMLValidator
CONTENT_ALLOW_ANY_TEXT, CONTENT_ALLOW_NONE, CONTENT_ALLOW_UNDEFINED, CONTENT_ALLOW_VALIDATABLE_TEXT, CONTENT_ALLOW_WS, CONTENT_ALLOW_WS_NONSTRICTFields inherited from interface javax.xml.stream.XMLStreamConstants
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT -
Constructor Summary
ConstructorsConstructorDescriptionGenericMsvValidator(org.codehaus.stax2.validation.XMLValidationSchema parent, org.codehaus.stax2.validation.ValidationContext ctxt, com.sun.msv.verifier.DocumentDeclaration vgm) -
Method Summary
Modifier and TypeMethodDescriptiongetAttributeType(int index) intintorg.codehaus.stax2.validation.XMLValidationSchemabooleanisNotation(String notationName) booleanisUnparsedEntity(String entityName) voidonID(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.resolveNamespacePrefix(String prefix) validateAttribute(String localName, String uri, String prefix, char[] valueChars, int valueStart, int valueEnd) validateAttribute(String localName, String uri, String prefix, String value) intintvalidateElementEnd(String localName, String uri, String prefix) voidvalidateElementStart(String localName, String uri, String prefix) Method called to update information about the newly encountered (start) element.voidvalidateText(char[] cbuf, int textStart, int textEnd, boolean lastTextSegment) voidvalidateText(String text, boolean lastTextSegment) voidvalidationCompleted(boolean eod) Methods inherited from class org.codehaus.stax2.validation.XMLValidator
getSchemaType
-
Field Details
-
mStartTagPrefix
Since `StartTagInfo` has no place for prefix, hold reference to one here
-
-
Constructor Details
-
GenericMsvValidator
public GenericMsvValidator(org.codehaus.stax2.validation.XMLValidationSchema parent, org.codehaus.stax2.validation.ValidationContext ctxt, com.sun.msv.verifier.DocumentDeclaration vgm)
-
-
Method Details
-
getBaseUri
- Specified by:
getBaseUriin interfaceorg.relaxng.datatype.ValidationContext
-
isNotation
- Specified by:
isNotationin interfaceorg.relaxng.datatype.ValidationContext
-
isUnparsedEntity
- Specified by:
isUnparsedEntityin interfaceorg.relaxng.datatype.ValidationContext
-
resolveNamespacePrefix
- Specified by:
resolveNamespacePrefixin interfaceorg.relaxng.datatype.ValidationContext
-
onID
public void onID(org.relaxng.datatype.Datatype datatype, com.sun.msv.verifier.regexp.StringToken idToken) throws 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.
- Specified by:
onIDin interfacecom.sun.msv.grammar.IDContextProvider2- Throws:
IllegalArgumentException
-
getSchema
public org.codehaus.stax2.validation.XMLValidationSchema getSchema()- Specified by:
getSchemain classorg.codehaus.stax2.validation.XMLValidator
-
validateElementStart
public void validateElementStart(String localName, String uri, String prefix) throws XMLStreamException Method called to update information about the newly encountered (start) element. At this point namespace information has been resolved, but no DTD validation has been done. Validator is to do these validations, including checking for attribute value (and existence) compatibility.- Specified by:
validateElementStartin classorg.codehaus.stax2.validation.XMLValidator- Throws:
XMLStreamException
-
validateAttribute
public String validateAttribute(String localName, String uri, String prefix, String value) throws XMLStreamException - Specified by:
validateAttributein classorg.codehaus.stax2.validation.XMLValidator- Throws:
XMLStreamException
-
validateAttribute
public String validateAttribute(String localName, String uri, String prefix, char[] valueChars, int valueStart, int valueEnd) throws XMLStreamException - Specified by:
validateAttributein classorg.codehaus.stax2.validation.XMLValidator- Throws:
XMLStreamException
-
validateElementAndAttributes
- Specified by:
validateElementAndAttributesin classorg.codehaus.stax2.validation.XMLValidator- Throws:
XMLStreamException
-
validateElementEnd
public int validateElementEnd(String localName, String uri, String prefix) throws XMLStreamException - Specified by:
validateElementEndin classorg.codehaus.stax2.validation.XMLValidator- Returns:
- Validation state that should be effective for the parent element state
- Throws:
XMLStreamException
-
validateText
- Specified by:
validateTextin classorg.codehaus.stax2.validation.XMLValidator- Throws:
XMLStreamException
-
validateText
public void validateText(char[] cbuf, int textStart, int textEnd, boolean lastTextSegment) throws XMLStreamException - Specified by:
validateTextin classorg.codehaus.stax2.validation.XMLValidator- Throws:
XMLStreamException
-
validationCompleted
- Specified by:
validationCompletedin classorg.codehaus.stax2.validation.XMLValidator- Throws:
XMLStreamException
-
getAttributeType
- Specified by:
getAttributeTypein classorg.codehaus.stax2.validation.XMLValidator
-
getIdAttrIndex
public int getIdAttrIndex()- Specified by:
getIdAttrIndexin classorg.codehaus.stax2.validation.XMLValidator
-
getNotationAttrIndex
public int getNotationAttrIndex()- Specified by:
getNotationAttrIndexin classorg.codehaus.stax2.validation.XMLValidator
-