Class SchemaValidate
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.optional.XMLValidateTask
org.apache.tools.ant.taskdefs.optional.SchemaValidate
- All Implemented Interfaces:
java.lang.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 references, 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
Nested Classes Modifier and Type Class Description 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
Fields Modifier and Type Field Description static java.lang.String
ERROR_DUPLICATE_SCHEMA
Duplicate declaration of schemastatic java.lang.String
ERROR_NO_XSD_SUPPORT
schema features not supportedstatic java.lang.String
ERROR_PARSER_CREATION_FAILURE
unable to create parserstatic java.lang.String
ERROR_SAX_1
SAX1 not supportedstatic java.lang.String
ERROR_TOO_MANY_DEFAULT_SCHEMAS
too many default schemasstatic java.lang.String
MESSAGE_ADDING_SCHEMA
adding schemaFields inherited from class org.apache.tools.ant.taskdefs.optional.XMLValidateTask
classpath, errorHandler, failOnError, file, filesets, INIT_FAILED_MSG, lenient, MESSAGE_FILES_VALIDATED, readerClassName, warn, xmlReader
-
Constructor Summary
Constructors Constructor Description SchemaValidate()
-
Method Summary
Modifier and Type Method Description void
addConfiguredSchema(SchemaValidate.SchemaLocation location)
add the schemaprotected 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 schemaprotected org.xml.sax.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 java.lang.String
getNoNamespaceSchemaURL()
get the URL of the no namespace schemavoid
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 validprotected void
onSuccessfulValidation(int fileProcessed)
handler called on successful file validation.void
setDisableDTD(boolean disableDTD)
flag to disable DTD support.protected void
setFeatureIfSupported(java.lang.String feature, boolean value)
set a feature if it is supported, log at verbose level if notvoid
setFullChecking(boolean fullChecking)
enable full schema checking.void
setNoNamespaceFile(java.io.File defaultSchemaFile)
identify a file containing the default schemavoid
setNoNamespaceURL(java.lang.String defaultSchemaURL)
identify the URL of the default schemaMethods inherited from class org.apache.tools.ant.taskdefs.optional.XMLValidateTask
addConfiguredXMLCatalog, addFileset, cleanup, createAttribute, createClasspath, createDTD, createProperty, createXmlReader, doValidate, execute, getEntityResolver, getXmlReader, isSax1Parser, setClassName, setClasspath, setClasspathRef, setFailOnError, setFeature, setFile, setLenient, setProperty, setWarn
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, 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, setDescription, setLocation, setProject
-
Field Details
-
ERROR_SAX_1
public static final java.lang.String ERROR_SAX_1SAX1 not supported- See Also:
- Constant Field Values
-
ERROR_NO_XSD_SUPPORT
public static final java.lang.String ERROR_NO_XSD_SUPPORTschema features not supported- See Also:
- Constant Field Values
-
ERROR_TOO_MANY_DEFAULT_SCHEMAS
public static final java.lang.String ERROR_TOO_MANY_DEFAULT_SCHEMAStoo many default schemas- See Also:
- Constant Field Values
-
ERROR_PARSER_CREATION_FAILURE
public static final java.lang.String ERROR_PARSER_CREATION_FAILUREunable to create parser- See Also:
- Constant Field Values
-
MESSAGE_ADDING_SCHEMA
public static final java.lang.String MESSAGE_ADDING_SCHEMAadding schema- See Also:
- Constant Field Values
-
ERROR_DUPLICATE_SCHEMA
public static final java.lang.String ERROR_DUPLICATE_SCHEMADuplicate declaration of schema- See Also:
- Constant Field Values
-
-
Constructor Details
-
SchemaValidate
public SchemaValidate()
-
-
Method Details
-
init
Called by the project to let the task initialize properly. The default implementation is a no-op.- Overrides:
init
in classXMLValidateTask
- Throws:
BuildException
- if something goes wrong with the build
-
enableXercesSchemaValidation
public boolean enableXercesSchemaValidation()Turn on XSD support in Xerces.- Returns:
- true on success, false on failure
-
enableJAXP12SchemaValidation
public boolean enableJAXP12SchemaValidation()Set schema attributes in a JAXP 1.2 engine.- Returns:
- true on success, false on failure
- See Also:
- JAXP 1.2 Approved CHANGES
-
addConfiguredSchema
add the schema- Parameters:
location
- the schema location.- Throws:
BuildException
- if there is no namespace, or if there already is a declaration of this schema with a different value
-
setFullChecking
public void setFullChecking(boolean fullChecking)enable full schema checking. Slower but better.- Parameters:
fullChecking
- aboolean
value.
-
createAnonymousSchema
protected void createAnonymousSchema()create a schema location to hold the anonymous schema -
setNoNamespaceURL
public void setNoNamespaceURL(java.lang.String defaultSchemaURL)identify the URL of the default schema- Parameters:
defaultSchemaURL
- the URL of the default schema.
-
setNoNamespaceFile
public void setNoNamespaceFile(java.io.File defaultSchemaFile)identify a file containing the default schema- Parameters:
defaultSchemaFile
- the location of the default schema.
-
setDisableDTD
public void setDisableDTD(boolean disableDTD)flag to disable DTD support.- Parameters:
disableDTD
- aboolean
value.
-
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 classXMLValidateTask
- Throws:
BuildException
- if something went wrong
-
createDefaultReader
protected org.xml.sax.XMLReader createDefaultReader()Create a reader if the use of the class did not specify another one. The reason to not useJAXPUtils.getXMLReader()
was to create our own factory with our own options.- Overrides:
createDefaultReader
in classXMLValidateTask
- Returns:
- a default XML parser
-
addSchemaLocations
protected void addSchemaLocations()build a string list of all schema locations, then set the relevant property. -
getNoNamespaceSchemaURL
protected java.lang.String getNoNamespaceSchemaURL()get the URL of the no namespace schema- Returns:
- the schema URL
-
setFeatureIfSupported
protected void setFeatureIfSupported(java.lang.String feature, boolean value)set a feature if it is supported, log at verbose level if not- Parameters:
feature
- the feature.value
- aboolean
value.
-
onSuccessfulValidation
protected void onSuccessfulValidation(int fileProcessed)handler called on successful file validation.- Overrides:
onSuccessfulValidation
in classXMLValidateTask
- Parameters:
fileProcessed
- number of files processed.
-