Package com.thaiopensource.validate
Class ValidationDriver
- java.lang.Object
-
- com.thaiopensource.validate.ValidationDriver
-
public class ValidationDriver extends java.lang.ObjectProvides 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 Summary
Constructors Constructor Description ValidationDriver()Equivalent to ValidationDriver(PropertyMap.EMPTY, PropertyMap.EMPTY, null).ValidationDriver(PropertyMap properties)Equivalent to ValidationDriver(properties, properties, null).ValidationDriver(PropertyMap schemaProperties, PropertyMap instanceProperties)Equivalent to ValidationDriver(schemaProperties, instanceProperties, null).ValidationDriver(PropertyMap schemaProperties, PropertyMap instanceProperties, SchemaReader schemaReader)Creates and initializes a ValidationDriver.ValidationDriver(PropertyMap properties, SchemaReader sr)Equivalent to ValidationDriver(properties, properties, sr).ValidationDriver(SchemaReader sr)Equivalent to ValidationDriver(PropertyMap.EMPTY, PropertyMap.EMPTY, null).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static org.xml.sax.InputSourcefileInputSource(java.io.File file)Returns anInputSourcefor aFile.static org.xml.sax.InputSourcefileInputSource(java.lang.String filename)Returns anInputSourcefor a filename.PropertyMapgetSchemaProperties()Get the actual properties of the loaded schemabooleanloadSchema(org.xml.sax.InputSource in)Loads a schema.static org.xml.sax.InputSourceuriOrFileInputSource(java.lang.String uriOrFile)Returns anInputSourcefor a string that represents either a file or an absolute URI.booleanvalidate(org.xml.sax.InputSource in)Validates a document against the currently loaded schema.
-
-
-
Constructor Detail
-
ValidationDriver
public ValidationDriver(PropertyMap schemaProperties, PropertyMap instanceProperties, SchemaReader schemaReader)
Creates and initializes a ValidationDriver.- Parameters:
schemaProperties- a PropertyMap specifying properties controlling schema creation; must not benullinstanceProperties- a PropertyMap specifying properties controlling validation; must not benullschemaReader- the SchemaReader to use; if this isnull, then the schema must be in XML, and the namespace URI of the root element will be used to determine what the schema language is
-
ValidationDriver
public ValidationDriver(PropertyMap schemaProperties, PropertyMap instanceProperties)
Equivalent to ValidationDriver(schemaProperties, instanceProperties, null).
-
ValidationDriver
public ValidationDriver(PropertyMap properties, SchemaReader sr)
Equivalent to ValidationDriver(properties, properties, sr).
-
ValidationDriver
public ValidationDriver(PropertyMap properties)
Equivalent to ValidationDriver(properties, properties, null).
-
ValidationDriver
public ValidationDriver(SchemaReader sr)
Equivalent to ValidationDriver(PropertyMap.EMPTY, PropertyMap.EMPTY, null).
-
ValidationDriver
public ValidationDriver()
Equivalent to ValidationDriver(PropertyMap.EMPTY, PropertyMap.EMPTY, null).
-
-
Method Detail
-
loadSchema
public boolean loadSchema(org.xml.sax.InputSource in) throws org.xml.sax.SAXException, java.io.IOExceptionLoads a schema. Subsequent calls tovalidatewill 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:
trueif the schema was loaded successfully;falseotherwise- Throws:
java.io.IOException- if an I/O error occurredorg.xml.sax.SAXException- if an XMLReader or ErrorHandler threw a SAXException
-
validate
public boolean validate(org.xml.sax.InputSource in) throws org.xml.sax.SAXException, java.io.IOExceptionValidates 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:
trueif the document is valid;falseotherwise- Throws:
java.lang.IllegalStateException- if there is no currently loaded schemajava.io.IOException- if an I/O error occurredorg.xml.sax.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:
java.lang.IllegalStateException- if there is no currently loaded schema
-
fileInputSource
public static org.xml.sax.InputSource fileInputSource(java.lang.String filename)
Returns anInputSourcefor a filename.- Parameters:
filename- a String specifying the filename- Returns:
- an
InputSourcefor the filename
-
fileInputSource
public static org.xml.sax.InputSource fileInputSource(java.io.File file)
Returns anInputSourcefor aFile.- Parameters:
file- theFile- Returns:
- an
InputSourcefor the filename
-
uriOrFileInputSource
public static org.xml.sax.InputSource uriOrFileInputSource(java.lang.String uriOrFile)
Returns anInputSourcefor 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- aStringrepresenting either a file or an absolute URI- Returns:
- an
InputSourcefor the file or absolute URI
-
-