Class ValidatingXMLStreamReader

  • All Implemented Interfaces:
    javax.xml.stream.XMLStreamConstants, javax.xml.stream.XMLStreamReader
    Direct Known Subclasses:
    ValidatingInfoXMLStreamReader

    public class ValidatingXMLStreamReader
    extends javax.xml.stream.util.StreamReaderDelegate
    implements javax.xml.stream.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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String OPTION_ATTTRIBUTE_VALIDATION_COMPAT_MODE  
      • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object getProperty​(java.lang.String s)  
      void init​(javax.xml.stream.XMLStreamReader xsr, boolean startWithCurrentEvent, SchemaType contentType, SchemaTypeLoader stl, XmlOptions options, java.util.Collection errorListener)
      Used in case of reusing the same ValidatinXMLStreamReader object
      boolean 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
    • Field Detail

      • OPTION_ATTTRIBUTE_VALIDATION_COMPAT_MODE

        public static final java.lang.String OPTION_ATTTRIBUTE_VALIDATION_COMPAT_MODE
        See Also:
        Constant Field Values
    • Method Detail

      • init

        public void init​(javax.xml.stream.XMLStreamReader xsr,
                         boolean startWithCurrentEvent,
                         SchemaType contentType,
                         SchemaTypeLoader stl,
                         XmlOptions options,
                         java.util.Collection errorListener)
        Used in case of reusing the same ValidatinXMLStreamReader object
        Parameters:
        xsr - The stream to be validated
        startWithCurrentEvent - Validation will start if true with the current event or if false with the next event in the stream
        contentType - The schemaType of the content. This can be null for document and global Att validation
        stl - SchemaTypeLoader context of validation
        options - Validator options
        errorListener - Errors and warnings listener
      • getProperty

        public java.lang.Object getProperty​(java.lang.String s)
                                     throws java.lang.IllegalArgumentException
        Specified by:
        getProperty in interface javax.xml.stream.XMLStreamReader
        Overrides:
        getProperty in class javax.xml.stream.util.StreamReaderDelegate
        Throws:
        java.lang.IllegalArgumentException
      • next

        public int next()
                 throws javax.xml.stream.XMLStreamException
        Specified by:
        next in interface javax.xml.stream.XMLStreamReader
        Overrides:
        next in class javax.xml.stream.util.StreamReaderDelegate
        Throws:
        javax.xml.stream.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.