Package com.thaiopensource.validate
Class ValidationDriver
- java.lang.Object
-
- com.thaiopensource.validate.ValidationDriver
-
public class ValidationDriver extends java.lang.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 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.InputSource
fileInputSource(java.io.File file)
Returns anInputSource
for aFile
.static org.xml.sax.InputSource
fileInputSource(java.lang.String filename)
Returns anInputSource
for a filename.PropertyMap
getSchemaProperties()
Get the actual properties of the loaded schemaboolean
loadSchema(org.xml.sax.InputSource in)
Loads a schema.static org.xml.sax.InputSource
uriOrFileInputSource(java.lang.String uriOrFile)
Returns anInputSource
for a string that represents either a file or an absolute URI.boolean
validate(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 benull
instanceProperties
- a PropertyMap specifying properties controlling validation; must not benull
schemaReader
- 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.IOException
Loads a schema. Subsequent calls tovalidate
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:
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.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:
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 anInputSource
for a filename.- Parameters:
filename
- a String specifying the filename- Returns:
- an
InputSource
for the filename
-
fileInputSource
public static org.xml.sax.InputSource fileInputSource(java.io.File file)
Returns anInputSource
for aFile
.- Parameters:
file
- theFile
- Returns:
- an
InputSource
for the filename
-
uriOrFileInputSource
public static org.xml.sax.InputSource uriOrFileInputSource(java.lang.String uriOrFile)
Returns anInputSource
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
- aString
representing either a file or an absolute URI- Returns:
- an
InputSource
for the file or absolute URI
-
-