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
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
-
Field Summary
Fields 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 -
Method Summary
Modifier and TypeMethodDescriptionvoid
init
(XMLStreamReader xsr, boolean startWithCurrentEvent, SchemaType contentType, SchemaTypeLoader stl, XmlOptions options, Collection<XmlError> errorListener) Used in case of reusing the same ValidatinXMLStreamReader objectboolean
isValid()
int
next()
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, standaloneSet
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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
-
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<org.apache.xmlbeans.XmlError>)
-
-
Method Details
-
init
public void init(XMLStreamReader xsr, boolean startWithCurrentEvent, SchemaType contentType, SchemaTypeLoader stl, XmlOptions options, Collection<XmlError> 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:
getProperty
in interfaceXMLStreamReader
- Overrides:
getProperty
in classStreamReaderDelegate
- Throws:
IllegalArgumentException
-
next
- Specified by:
next
in interfaceXMLStreamReader
- Overrides:
next
in classStreamReaderDelegate
- Throws:
XMLStreamException
-
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.
-