Class DTDValidator

    • Field Detail

      • mReportDuplicateErrors

        protected boolean mReportDuplicateErrors
        Determines if identical problems (definition of the same element, for example) should cause multiple error notifications or not: if true, will get one error per instance, if false, only the first one will get reported.
      • mIdMap

        protected ElementIdMap mIdMap
        Information about declared and referenced element ids (unique ids that attributes may defined, as defined by DTD)
      • mValidators

        protected StructValidator[] mValidators
        Stack of validators for open elements
      • mCurrSpecialAttrs

        protected BitSet mCurrSpecialAttrs
        Bitset used for keeping track of required and defaulted attributes for which values have been found.
    • Method Detail

      • reallyValidating

        public final boolean reallyValidating()
        Specified by:
        reallyValidating in class DTDValidatorBase
        Returns:
        True for validator object that actually do validate content; false for objects that only use DTD type information.
      • 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:
        validateElementStart in class DTDValidatorBase
        Throws:
        XMLStreamException
      • validateAttribute

        public String validateAttribute​(String localName,
                                        String uri,
                                        String prefix,
                                        String value)
                                 throws XMLStreamException
        Description copied from class: XMLValidator
        Callback method called on validator to give it a chance to validate the value of an attribute, as well as to normalize its value if appropriate (remove leading/trailing/intervening white space for certain token types etc.).
        Specified by:
        validateAttribute in class DTDValidatorBase
        Returns:
        Null, if the passed value is fine as is; or a String, if it needs to be replaced. In latter case, caller will replace the value before passing it to other validators. Also, if the attribute value is accessible via caller (as is the case for stream readers), caller should return this value, instead of the original one.
        Throws:
        XMLStreamException
      • validateAttribute

        public String validateAttribute​(String localName,
                                        String uri,
                                        String prefix,
                                        char[] valueChars,
                                        int valueStart,
                                        int valueEnd)
                                 throws XMLStreamException
        Description copied from class: XMLValidator
        Callback method called on validator to give it a chance to validate the value of an attribute, as well as to normalize its value if appropriate (remove leading/trailing/intervening white space for certain token types etc.).
        Specified by:
        validateAttribute in class DTDValidatorBase
        valueChars - Character array that contains value (possibly along with some other text)
        valueStart - Index of the first character of the value in in valueChars array
        valueEnd - Index of the character AFTER the last character; so that the length of the value String is valueEnd - valueStart
        Returns:
        Null, if the passed value is fine as is; or a String, if it needs to be replaced. In latter case, caller will replace the value before passing it to other validators. Also, if the attribute value is accessible via caller (as is the case for stream readers), caller should return this value, instead of the original one.
        Throws:
        XMLStreamException
      • validationCompleted

        public void validationCompleted​(boolean eod)
                                 throws XMLStreamException
        Description copied from class: XMLValidator
        Method called when the validation is completed; either due to the input stream ending, or due to an explicit 'stop validation' request by the application (via context object).
        Specified by:
        validationCompleted in class DTDValidatorBase
        Parameters:
        eod - Flag that indicates whether this method was called by the context due to the end of the stream (true); or by an application requesting end of validation (false).
        Throws:
        XMLStreamException