Class ValidationDriver

java.lang.Object
com.thaiopensource.validate.ValidationDriver

public class ValidationDriver extends Object
Provides a simplified API for validating XML documents against schemas. This class is neither reentrant nor safe for access from multiple threads.
Author:
James Clark
  • Constructor Details

  • Method Details

    • loadSchema

      public boolean loadSchema(InputSource in) throws SAXException, IOException
      Loads a schema. Subsequent calls to validate will validate with respect the loaded schema. This can be called more than once to allow multiple documents to be validated against different schemas.
      Parameters:
      in - the InputSource for the schema
      Returns:
      true if the schema was loaded successfully; false otherwise
      Throws:
      IOException - if an I/O error occurred
      SAXException - if an XMLReader or ErrorHandler threw a SAXException
    • validate

      public boolean validate(InputSource in) throws SAXException, IOException
      Validates a document against the currently loaded schema. This can be called multiple times in order to validate multiple documents.
      Parameters:
      in - the InputSource for the document to be validated
      Returns:
      true if the document is valid; false otherwise
      Throws:
      IllegalStateException - if there is no currently loaded schema
      IOException - if an I/O error occurred
      SAXException - if an XMLReader or ErrorHandler threw a SAXException
    • validate

      public boolean validate(ValidationDriver.SaxProducer saxProducer) throws SAXException, IOException
      Validates the events of a producer against the currently loaded schema. This can be called multiple times in order to validate multiple documents.
      Parameters:
      producer - a producer that delivers SAX events to the handlers.
      Returns:
      true if the document is valid; false otherwise
      Throws:
      IllegalStateException - if there is no currently loaded schema
      IOException - if an I/O error occurred
      SAXException - if an XMLReader or ErrorHandler threw a SAXException
    • getSchemaProperties

      public PropertyMap getSchemaProperties()
      Get the actual properties of the loaded schema
      Returns:
      a PropertyMap with the schema properties
      Throws:
      IllegalStateException - if there is no currently loaded schema
    • fileInputSource

      public static InputSource fileInputSource(String filename)
      Returns an InputSource for a filename.
      Parameters:
      filename - a String specifying the filename
      Returns:
      an InputSource for the filename
    • fileInputSource

      public static InputSource fileInputSource(File file)
      Returns an InputSource for a File.
      Parameters:
      file - the File
      Returns:
      an InputSource for the filename
    • uriOrFileInputSource

      public static InputSource uriOrFileInputSource(String uriOrFile)
      Returns an InputSource for a string that represents either a file or an absolute URI. If the string looks like an absolute URI, it will be treated as an absolute URI, otherwise it will be treated as a filename.
      Parameters:
      uriOrFile - a String representing either a file or an absolute URI
      Returns:
      an InputSource for the file or absolute URI