Class DTDTypingNonValidator

  • All Implemented Interfaces:
    NsDefaultProvider

    public class DTDTypingNonValidator
    extends DTDValidatorBase
    This class is a "non-validating validator"; a validator-like object that handles DTD-based non-validation functionality: determining type information and default values. This instance does NOT implement any actual DTD-validation, and is to be used in DTD-aware non-validating mode.
    • Field Detail

      • mHasAttrDefaults

        protected boolean mHasAttrDefaults
        Flag that indicates if current element has any attributes that have default values.
      • mCurrDefaultAttrs

        protected java.util.BitSet mCurrDefaultAttrs
        Bitset used for keeping track of defaulted attributes for which values have been found. Only non-null when current element does have such attributes
      • mHasNormalizableAttrs

        protected boolean mHasNormalizableAttrs
        Flag that indicates whether any of the attributes is potentially normalizable, and we are in attribute-normalizing mode.
      • mTmpDefaultAttrs

        java.util.BitSet mTmpDefaultAttrs
        Reusable lazily instantiated BitSet; needed to keep track of 'missing' attributes with default values (normal default, #FIXED).
    • Constructor Detail

      • DTDTypingNonValidator

        public DTDTypingNonValidator​(DTDSubset schema,
                                     org.codehaus.stax2.validation.ValidationContext ctxt,
                                     boolean hasNsDefaults,
                                     java.util.Map<PrefixedName,​DTDElement> elemSpecs,
                                     java.util.Map<java.lang.String,​EntityDecl> genEntities)
    • Method Detail

      • reallyValidating

        public final boolean reallyValidating()
        Specified by:
        reallyValidating in class DTDValidatorBase
        Returns:
        False, since this is not a real validator
      • setAttrValueNormalization

        public void setAttrValueNormalization​(boolean state)
        This 'validator' will not normalize any attributes, so let's implement this as no-op.
        Overrides:
        setAttrValueNormalization in class DTDValidatorBase
      • validateElementStart

        public void validateElementStart​(java.lang.String localName,
                                         java.lang.String uri,
                                         java.lang.String prefix)
                                  throws javax.xml.stream.XMLStreamException
        Description copied from class: DTDValidatorBase
        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:
        validateElementStart in class DTDValidatorBase
        Throws:
        javax.xml.stream.XMLStreamException
      • validateAttribute

        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
        Specified by:
        validateAttribute in class DTDValidatorBase
        Throws:
        javax.xml.stream.XMLStreamException
      • validateAttribute

        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
        Specified by:
        validateAttribute in class DTDValidatorBase
        Throws:
        javax.xml.stream.XMLStreamException
      • validateElementAndAttributes

        public int validateElementAndAttributes()
                                         throws javax.xml.stream.XMLStreamException
        Specified by:
        validateElementAndAttributes in class DTDValidatorBase
        Throws:
        javax.xml.stream.XMLStreamException
      • validateElementEnd

        public int validateElementEnd​(java.lang.String localName,
                                      java.lang.String uri,
                                      java.lang.String prefix)
                               throws javax.xml.stream.XMLStreamException
        Specified by:
        validateElementEnd in class DTDValidatorBase
        Returns:
        Validation state that should be effective for the parent element state
        Throws:
        javax.xml.stream.XMLStreamException