Class ValidatingXMLStreamReader
java.lang.Object
javax.xml.stream.util.StreamReaderDelegate
org.apache.xmlbeans.impl.validator.ValidatingXMLStreamReader
- All Implemented Interfaces:
XMLStreamConstants,XMLStreamReader
- Direct Known Subclasses:
ValidatingInfoXMLStreamReader
public class ValidatingXMLStreamReader extends StreamReaderDelegate implements XMLStreamReader
This class is a wrapper over a generic XMLStreamReader that provides validation.
There are 3 cases:
1) the XMLStreamReader represents a document, it contains only one element document - in this case the user schema type should be null or it should be a document SchemaType
2) the XMLStreamReader represents an xml-fragment (content only) - must have at least one user type or xsi:type
a) it has an xsi:type - if user schema type is available it has to be a base type of xsi:type
b) it doesn't have xsi:type - user must provide a schema type otherwise will error and will not do validation
3) the XMLStreamReader represents a global attribute - i.e. user schema type is null and only one attribute
1) the XMLStreamReader represents a document, it contains only one element document - in this case the user schema type should be null or it should be a document SchemaType
2) the XMLStreamReader represents an xml-fragment (content only) - must have at least one user type or xsi:type
a) it has an xsi:type - if user schema type is available it has to be a base type of xsi:type
b) it doesn't have xsi:type - user must provide a schema type otherwise will error and will not do validation
3) the XMLStreamReader represents a global attribute - i.e. user schema type is null and only one attribute
- Author:
- Cezar Andrei (cezar.andrei at bea.com) Date: Feb 13, 2004
-
Field Summary
Fields Modifier and Type Field Description protected Validator_validatorFields 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
Constructors Constructor Description ValidatingXMLStreamReader()Default constructor. -
Method Summary
Modifier and Type Method Description ObjectgetProperty(String s)voidinit(XMLStreamReader xsr, boolean startWithCurrentEvent, SchemaType contentType, SchemaTypeLoader stl, XmlOptions options, Collection errorListener)Used in case of reusing the same ValidatinXMLStreamReader objectbooleanisValid()intnext()protected voidvalidate_attribute(int attIndex)protected voidvalidate_attributes(int attCount)Methods inherited from class javax.xml.stream.util.StreamReaderDelegate
close, getAttributeCount, getAttributeLocalName, getAttributeName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getCharacterEncodingScheme, getElementText, getEncoding, getEventType, getLocalName, getLocation, getName, getNamespaceContext, getNamespaceCount, getNamespacePrefix, getNamespaceURI, getNamespaceURI, getNamespaceURI, getParent, getPIData, getPITarget, getPrefix, getText, getTextCharacters, getTextCharacters, getTextLength, getTextStart, getVersion, hasName, hasNext, hasText, isAttributeSpecified, isCharacters, isEndElement, isStandalone, isStartElement, isWhiteSpace, nextTag, require, setParent, standaloneSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface javax.xml.stream.XMLStreamReader
close, getAttributeCount, getAttributeLocalName, getAttributeName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getCharacterEncodingScheme, getElementText, getEncoding, getEventType, getLocalName, getLocation, getName, getNamespaceContext, getNamespaceCount, getNamespacePrefix, getNamespaceURI, getNamespaceURI, getNamespaceURI, getPIData, getPITarget, getPrefix, getText, getTextCharacters, getTextCharacters, getTextLength, getTextStart, getVersion, hasName, hasNext, hasText, isAttributeSpecified, isCharacters, isEndElement, isStandalone, isStartElement, isWhiteSpace, nextTag, require, standaloneSet
-
Field Details
-
Constructor Details
-
ValidatingXMLStreamReader
public ValidatingXMLStreamReader()Default constructor. Use init(...) to set the params. Seeinit(javax.xml.stream.XMLStreamReader, boolean, org.apache.xmlbeans.SchemaType, org.apache.xmlbeans.SchemaTypeLoader, org.apache.xmlbeans.XmlOptions, java.util.Collection)
-
-
Method Details
-
init
public void init(XMLStreamReader xsr, boolean startWithCurrentEvent, SchemaType contentType, SchemaTypeLoader stl, XmlOptions options, Collection errorListener)Used in case of reusing the same ValidatinXMLStreamReader object- Parameters:
xsr- The stream to be validatedstartWithCurrentEvent- Validation will start if true with the current event or if false with the next event in the streamcontentType- The schemaType of the content. This can be null for document and global Att validationstl- SchemaTypeLoader context of validationoptions- Validator optionserrorListener- Errors and warnings listener
-
getProperty
- Specified by:
getPropertyin interfaceXMLStreamReader- Overrides:
getPropertyin classStreamReaderDelegate- Throws:
IllegalArgumentException
-
next
- Specified by:
nextin interfaceXMLStreamReader- Overrides:
nextin classStreamReaderDelegate- Throws:
XMLStreamException
-
validate_attributes
protected void validate_attributes(int attCount) -
validate_attribute
protected void validate_attribute(int attIndex) -
isValid
public boolean isValid()- Returns:
- Returns the validation state up to this point. NOTE: At least one START ELEMENT should have been consumed for a valid value to be returned.
-