org.apache.tools.ant.taskdefs.optional

Class SchemaValidate

Implemented Interfaces:
Cloneable

public class SchemaValidate
extends XMLValidateTask

Validate XML Schema documents. This task validates XML schema documents. It requires an XML parser that handles the relevant SAx, Xerces or JAXP options. To resolve remote referencies, Ant may need its proxy set up, using the setproxy task. Hands off most of the work to its parent, XMLValidateTask
Since:
Ant1.7

Nested Class Summary

static class
SchemaValidate.SchemaLocation
representation of a schema location.

Nested classes/interfaces inherited from class org.apache.tools.ant.taskdefs.optional.XMLValidateTask

XMLValidateTask.Attribute, XMLValidateTask.Property, XMLValidateTask.ValidatorErrorHandler

Field Summary

static String
ERROR_DUPLICATE_SCHEMA
Duplicate declaration of schema
static String
ERROR_NO_XSD_SUPPORT
schema features not supported
static String
ERROR_PARSER_CREATION_FAILURE
unable to create parser
static String
ERROR_SAX_1
SAX1 not supported
static String
ERROR_TOO_MANY_DEFAULT_SCHEMAS
too many default schemas
static String
MESSAGE_ADDING_SCHEMA
adding schema

Fields inherited from class org.apache.tools.ant.taskdefs.optional.XMLValidateTask

INIT_FAILED_MSG, MESSAGE_FILES_VALIDATED, classpath, errorHandler, failOnError, file, filesets, lenient, readerClassName, warn, xmlReader

Fields inherited from class org.apache.tools.ant.Task

target, taskName, taskType, wrapper

Fields inherited from class org.apache.tools.ant.ProjectComponent

description, location, project

Method Summary

void
addConfiguredSchema(SchemaValidate.SchemaLocation location)
add the schema
protected void
addSchemaLocations()
build a string list of all schema locations, then set the relevant property.
protected void
createAnonymousSchema()
create a schema location to hold the anonymous schema
protected XMLReader
createDefaultReader()
Create a reader if the use of the class did not specify another one.
boolean
enableJAXP12SchemaValidation()
Set schema attributes in a JAXP 1.2 engine.
boolean
enableXercesSchemaValidation()
Turn on XSD support in Xerces.
protected String
getNoNamespaceSchemaURL()
get the URL of the no namespace schema
void
init()
Called by the project to let the task initialize properly.
protected void
initValidator()
init the parser : load the parser class, and set features if necessary It is only after this that the reader is valid
protected void
onSuccessfulValidation(int fileProcessed)
handler called on successful file validation.
void
setDisableDTD(boolean disableDTD)
flag to disable DTD support.
protected void
setFeatureIfSupported(String feature, boolean value)
set a feature if it is supported, log at verbose level if not
void
setFullChecking(boolean fullChecking)
enable full schema checking.
void
setNoNamespaceFile(File defaultSchemaFile)
identify a file containing the default schema
void
setNoNamespaceURL(String defaultSchemaURL)
identify the URL of the default schema

Methods inherited from class org.apache.tools.ant.taskdefs.optional.XMLValidateTask

addConfiguredXMLCatalog, addFileset, createAttribute, createClasspath, createDTD, createDefaultReader, createProperty, createXmlReader, doValidate, execute, getEntityResolver, getXmlReader, init, initValidator, isSax1Parser, onSuccessfulValidation, setClassName, setClasspath, setClasspathRef, setFailOnError, setFeature, setFile, setLenient, setProperty, setWarn

Methods inherited from class org.apache.tools.ant.Task

bindToOwner, execute, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType

Methods inherited from class org.apache.tools.ant.ProjectComponent

clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject

Field Details

ERROR_DUPLICATE_SCHEMA

public static final String ERROR_DUPLICATE_SCHEMA
Duplicate declaration of schema

ERROR_NO_XSD_SUPPORT

public static final String ERROR_NO_XSD_SUPPORT
schema features not supported

ERROR_PARSER_CREATION_FAILURE

public static final String ERROR_PARSER_CREATION_FAILURE
unable to create parser

ERROR_SAX_1

public static final String ERROR_SAX_1
SAX1 not supported

ERROR_TOO_MANY_DEFAULT_SCHEMAS

public static final String ERROR_TOO_MANY_DEFAULT_SCHEMAS
too many default schemas

MESSAGE_ADDING_SCHEMA

public static final String MESSAGE_ADDING_SCHEMA
adding schema

Method Details

addConfiguredSchema

public void addConfiguredSchema(SchemaValidate.SchemaLocation location)
add the schema
Parameters:
location - the schema location.

addSchemaLocations

protected void addSchemaLocations()
build a string list of all schema locations, then set the relevant property.

createAnonymousSchema

protected void createAnonymousSchema()
create a schema location to hold the anonymous schema

createDefaultReader

protected XMLReader createDefaultReader()
Create a reader if the use of the class did not specify another one. The reason to not use JAXPUtils.getXMLReader() was to create our own factory with our own options.
Overrides:
createDefaultReader in interface XMLValidateTask
Returns:
a default XML parser

enableJAXP12SchemaValidation

public boolean enableJAXP12SchemaValidation()
Set schema attributes in a JAXP 1.2 engine.
Returns:
true on success, false on failure

enableXercesSchemaValidation

public boolean enableXercesSchemaValidation()
Turn on XSD support in Xerces.
Returns:
true on success, false on failure

getNoNamespaceSchemaURL

protected String getNoNamespaceSchemaURL()
get the URL of the no namespace schema
Returns:
the schema URL

init

public void init()
            throws BuildException
Called by the project to let the task initialize properly. The default implementation is a no-op.
Overrides:
init in interface XMLValidateTask
Throws:
BuildException - if something goes wrong with the build

initValidator

protected void initValidator()
init the parser : load the parser class, and set features if necessary It is only after this that the reader is valid
Overrides:
initValidator in interface XMLValidateTask

onSuccessfulValidation

protected void onSuccessfulValidation(int fileProcessed)
handler called on successful file validation.
Overrides:
onSuccessfulValidation in interface XMLValidateTask
Parameters:
fileProcessed - number of files processed.

setDisableDTD

public void setDisableDTD(boolean disableDTD)
flag to disable DTD support.
Parameters:
disableDTD - a boolean value.

setFeatureIfSupported

protected void setFeatureIfSupported(String feature,
                                     boolean value)
set a feature if it is supported, log at verbose level if not
Parameters:
feature - the feature.
value - a boolean value.

setFullChecking

public void setFullChecking(boolean fullChecking)
enable full schema checking. Slower but better.
Parameters:
fullChecking - a boolean value.

setNoNamespaceFile

public void setNoNamespaceFile(File defaultSchemaFile)
identify a file containing the default schema
Parameters:
defaultSchemaFile - the location of the default schema.

setNoNamespaceURL

public void setNoNamespaceURL(String defaultSchemaURL)
identify the URL of the default schema
Parameters:
defaultSchemaURL - the URL of the default schema.