Class ValidatorImpl


  • public class ValidatorImpl
    extends javax.xml.validation.Validator
    This class in the Saxon implementation of the JAXP 1.3 Validator "interface" (which is actually defined as an abstract class). It is used to validate a source document against a schema.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Configuration getConfiguration()
      Get the underlying Saxon Configuration object
      org.xml.sax.ErrorHandler getErrorHandler()
      Gets the current ErrorHandler set to this Validator.
      java.lang.Object getProperty​(java.lang.String name)
      Look up the value of a property.
      org.w3c.dom.ls.LSResourceResolver getResourceResolver()
      Gets the current LSResourceResolver
      void reset()  
      void setErrorHandler​(org.xml.sax.ErrorHandler errorHandler)
      Sets the ErrorHandler to receive errors encountered during the validate method invocation.
      void setProperty​(java.lang.String name, java.lang.Object object)
      Set the value of a property.
      void setResourceResolver​(org.w3c.dom.ls.LSResourceResolver resourceResolver)
      Sets the LSResourceResolver to customize resource resolution while in a validation episode.
      void validate​(javax.xml.transform.Source source, javax.xml.transform.Result result)
      Validate a source document, sending the validated output to a specified destination.
      • Methods inherited from class javax.xml.validation.Validator

        getFeature, setFeature, validate
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ValidatorImpl

        public ValidatorImpl​(PipelineConfiguration pipe,
                             PreparedSchema schema)
        Create the Validator
        Parameters:
        pipe - the pipeline configuration
        schema - the schema against which validation takes place
    • Method Detail

      • reset

        public void reset()
        Specified by:
        reset in class javax.xml.validation.Validator
      • validate

        public void validate​(javax.xml.transform.Source source,
                             javax.xml.transform.Result result)
                      throws org.xml.sax.SAXException,
                             java.io.IOException
        Validate a source document, sending the validated output to a specified destination. Note that unlike the abstract parent method, this implementation imposes no restrictions on the type of the source and result: any kind of source can be used with any kind of result.
        Specified by:
        validate in class javax.xml.validation.Validator
        Parameters:
        source - XML to be validated. Must be an XML document or XML element and must not be null.
        result - The Result object that receives (possibly augmented) XML. This parameter can be null if the caller is not interested in it.
        Throws:
        org.xml.sax.SAXException
        java.io.IOException
      • setErrorHandler

        public void setErrorHandler​(org.xml.sax.ErrorHandler errorHandler)
        Sets the ErrorHandler to receive errors encountered during the validate method invocation.

        Error handler can be used to customize the error handling process during a validation. When an ErrorHandler is set, errors found during the validation will be first sent to the ErrorHandler.

        The error handler can abort further validation immediately by throwing SAXException from the handler. Or for example it can print an error to the screen and try to continue the validation by returning normally from the ErrorHandler

        If any Throwable is thrown from an ErrorHandler, the caller of the validate method will be thrown the same Throwable object.

        Validator is not allowed to throw SAXException without first reporting it to ErrorHandler.

        When the ErrorHandler is null, the implementation will behave as if the following ErrorHandler is set:

         class DraconianErrorHandler implements ErrorHandler {
             public void fatalError( SAXParseException e ) throws SAXException {
                 throw e;
             }
             public void error( SAXParseException e ) throws SAXException {
                 throw e;
             }
             public void warning( SAXParseException e ) throws SAXException {
                 // noop
             }
         }
         

        When a new Validator object is created, initially this field is set to null.

        Specified by:
        setErrorHandler in class javax.xml.validation.Validator
        Parameters:
        errorHandler - A new error handler to be set. This parameter can be null.
      • getErrorHandler

        public org.xml.sax.ErrorHandler getErrorHandler()
        Gets the current ErrorHandler set to this Validator.
        Specified by:
        getErrorHandler in class javax.xml.validation.Validator
        Returns:
        This method returns the object that was last set through the setErrorHandler(ErrorHandler) method, or null if that method has never been called since this Validator has created.
        See Also:
        setErrorHandler(ErrorHandler)
      • setResourceResolver

        public void setResourceResolver​(org.w3c.dom.ls.LSResourceResolver resourceResolver)
        Sets the LSResourceResolver to customize resource resolution while in a validation episode.
        Specified by:
        setResourceResolver in class javax.xml.validation.Validator
        Parameters:
        resourceResolver - A new resource resolver to be set. This parameter can be null.
      • getResourceResolver

        public org.w3c.dom.ls.LSResourceResolver getResourceResolver()
        Gets the current LSResourceResolver
        Specified by:
        getResourceResolver in class javax.xml.validation.Validator
        Returns:
        This method returns the object that was last set through the setResourceResolver(org.w3c.dom.ls.LSResourceResolver) method, or null if that method has never been called
      • getConfiguration

        public Configuration getConfiguration()
        Get the underlying Saxon Configuration object
        Returns:
        the Saxon Configuration
      • getProperty

        public java.lang.Object getProperty​(java.lang.String name)
                                     throws org.xml.sax.SAXNotRecognizedException,
                                            org.xml.sax.SAXNotSupportedException
        Look up the value of a property.

        The property name is any fully-qualified URI. It is possible for a Validator to recognize a property name but temporarily be unable to return its value. Some property values may be available only in specific contexts, such as before, during, or after a validation.

        Validators are not required to recognize any specific property names.

        In the Saxon implementation, the property names that are recognized are the same as the attribute names recognised by a TransformerFactory. These are listed as constant fields in the class FeatureKeys. In addition, the following properties are recognized:

        • XMLConstants.FEATURE_SECURE_PROCESSING
        • XMLConstants.ACCESS_EXTERNAL_DTD
        • XMLConstants.ACCESS_EXTERNAL_SCHEMA
        Overrides:
        getProperty in class javax.xml.validation.Validator
        Parameters:
        name - The property name, which is a non-null fully-qualified URI.
        Returns:
        The current value of the property.
        Throws:
        org.xml.sax.SAXNotRecognizedException - If the property value can't be assigned or retrieved.
        org.xml.sax.SAXNotSupportedException - When the XMLReader recognizes the property name but cannot determine its value at this time.
        java.lang.NullPointerException - When the name parameter is null.
        See Also:
        setProperty(String, Object)
      • setProperty

        public void setProperty​(java.lang.String name,
                                java.lang.Object object)
                         throws org.xml.sax.SAXNotRecognizedException,
                                org.xml.sax.SAXNotSupportedException
        Set the value of a property.

        The property name is any fully-qualified URI. It is possible for a Validator to recognize a property name but to be unable to change the current value. Some property values may be immutable or mutable only in specific contexts, such as before, during, or after a validation.

        In the Saxon implementation, the property names that are recognized are the same as the attribute names recognised by a TransformerFactory. These are listed as constant fields in the class FeatureKeys. In addition, the following properties are recognized, and passed directly to the underlying XML parser:

        • XMLConstants.FEATURE_SECURE_PROCESSING
        • XMLConstants.ACCESS_EXTERNAL_DTD
        • XMLConstants.ACCESS_EXTERNAL_SCHEMA
        Overrides:
        setProperty in class javax.xml.validation.Validator
        Parameters:
        name - The property name, which is a non-null fully-qualified URI.
        object - The requested value for the property.
        Throws:
        org.xml.sax.SAXNotRecognizedException - If the property value can't be assigned or retrieved.
        org.xml.sax.SAXNotSupportedException - When the Validator recognizes the property name but cannot set the requested value.
        java.lang.NullPointerException - When the name parameter is null.