This task validates XML files described by an XML Schema. The task extends the XmlValidate task with XSD-specific features.
This task supports the use of nested
The task only supports SAX2 or later parsers: it is an error to specify a SAX1 parser.
| Attribute | Description | Required |
| file | the file(s) you want to check. (optionally can use an embedded fileset) | No |
| defaultSchemaFile | filename of a no-namespace XSD file to provide the schema for no-namespace XML content. | No |
| noNamespaceURL | URL of a no-namespace XSD file to provide the schema for no-namespace XML content. | No |
| noNamespaceFile | filename of a no-namespace XSD file to provide the schema for no-namespace XML content. | No |
| fullchecking | enable full schema checking. Slow but strict. | No - default true |
| lenient | if true, only check the XML document is well formed | No |
| classname | the parser to use. | No |
| classpathref | where to find the parser class. Optionally can use an embedded <classpath> element. | No |
| failonerror | fails on a error if set to true (defaults to true). | No |
| warn | log parser warn events. | No |
Identify the name and location of a schema that may be used in validating the document(s).
| Attribute | Description | Required |
| namespace | URI of the schema namespace | Yes |
| url | URL of the schema | One of url or file is required |
| file | file of the schema | One of url or file is required |
<dtd> is used to specify different locations for DTD resolution.
| Attribute | Description | Required |
| publicId | Public ID of the DTD to resolve | Yes |
| location | Location of the DTD to use, which can be a file, a resource, or a URL | Yes |
The <xmlcatalog> element is used to perform entity resolution.
The <attribute> element is used to set parser features.
Features usable with the xerces parser are defined here :
Setting features
SAX features are defined here:
http://xml.org/sax/features/
| Attribute | Description | Required |
| name | The name of the feature | Yes |
| value | The boolean value of the feature | Yes |
The <property> element is used to set properties. These properties are defined here for the xerces XML parser implementation : XML Parser properties Properties can be used to set the schema used to validate the XML file.
| Attribute | Description | Required |
| name | The name of the feature | Yes |
| value | The string value of the property | Yes |
<xmlvalidate file="toto.xml"/>Validate toto.xml
<xmlvalidate failonerror="no" lenient="yes" warn="yes"
classname="org.apache.xerces.parsers.SAXParser">
classpath="lib/xerces.jar">
<fileset dir="src" includes="style/*.xsl"/>
</xmlvalidate>
Validate all .xsl files in src/style, but only warn if there is an error, rather than
halt the build.
<xmlvalidate file="struts-config.xml" warn="false">
<dtd publicId="-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
location="struts-config_1_0.dtd"/>
</xmlvalidate>
Validate a struts configuration, using a local copy of the DTD.
<xmlvalidate failonerror="no">
<fileset dir="${project.dir}" includes="**/*.xml"/>
<xmlcatalog refid="mycatalog"/>
</xmlvalidate>
Scan all XML files in the project, using a predefined catalog to map URIs to local files.
<xmlvalidate failonerror="no">
<fileset dir="${project.dir}" includes="**/*.xml"/>
<xmlcatalog>
<dtd
publicId="-//ArielPartners//DTD XML Article V1.0//EN"
location="com/arielpartners/knowledgebase/dtd/article.dtd"/>
</xmlcatalog>
</xmlvalidate>
Scan all XML files in the project, using the catalog defined inline.
<xmlvalidate failonerror="yes" lenient="no" warn="yes"> <fileset dir="xml" includes="**/*.xml"/> <attribute name="http://xml.org/sax/features/validation" value="true"/> <attribute name="http://apache.org/xml/features/validation/schema" value="true"/> <attribute name="http://xml.org/sax/features/namespaces" value="true"/> </xmlvalidate>Validate all .xml files in xml directory with the parser configured to perform schema validation. Note: The parser must support the
http://apache.org/xml/features/validation/schemafeature.
<pathconvert dirsep="/" property="xsd.file">
<path>
<pathelement location="xml/doc.xsd"/>
</path>
</pathconvert>
<xmlvalidate file="xml/endpiece-noSchema.xml" lenient="false"
failonerror="true" warn="true">
<attribute name="http://apache.org/xml/features/validation/schema"
value="true"/>
<attribute name="http://xml.org/sax/features/namespaces" value="true"/>
<property
name="http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation"
value="${xsd.file}"/>
</xmlvalidate>
Copyright © 2001-2002,2004-2005 The Apache Software Foundation. All rights Reserved.