## com.saxonica.jaxp
Class ValidatorImpl

    java.lang.Object
      javax.xml.validation.Validator
          com.saxonica.jaxp.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.

Nested Class Summary
`static class` `ValidatorImpl.ErrorListenerWrappingErrorHandler` A JAXP ErrorListener that wraps a SAX ErrorHandler

Constructor Summary
`ValidatorImpl(PipelineConfiguration pipe, PreparedSchema schema)` Create the Validator

Method Summary
`Configuration` `getConfiguration()` Get the underlying Saxon Configuration object
`org.xml.sax.ErrorHandler` `getErrorHandler()`
`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)`
`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)`

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

  Specified by:
    `validate` in class `javax.xml.validation.Validator`
  Throws:
    `org.xml.sax.SAXException`
    `java.io.IOException`

### setErrorHandler

    public void setErrorHandler(org.xml.sax.ErrorHandler errorHandler)

  Specified by:
    `setErrorHandler` in class `javax.xml.validation.Validator`

### getErrorHandler

    public org.xml.sax.ErrorHandler getErrorHandler()

  Specified by:
    `getErrorHandler` in class `javax.xml.validation.Validator`

### 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.

  `Validator`s 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`

  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`

  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.

Copyright (c) Saxonica Limited. All rights reserved.