## org.apache.tools.ant.taskdefs.optional
Class XMLValidateTask

    java.lang.Object
      |
      +--org.apache.tools.ant.ProjectComponent
            |
            +--org.apache.tools.ant.Task
                  |
                  +--org.apache.tools.ant.taskdefs.optional.XMLValidateTask

public class XMLValidateTask
extends Task

Checks XML files are valid (or only well formed). The task uses the SAX2 parser implementation provided by JAXP by default (probably the one that is used by Ant itself), but one can specify any SAX1/2 parser if needed.

Author:
  Raphael Pierquin raphael.pierquin@agisphere.com, Nick Pellow nick@svana.org

Nested Class Summary
`class` `XMLValidateTask.Attribute` The class to create to set a feature of the parser.
`protected class` `XMLValidateTask.ValidatorErrorHandler` ValidatorErrorHandler role : log SAX parse exceptions, remember if an error occurred

Field Summary
`protected Path` `classpath`
`protected XMLValidateTask.ValidatorErrorHandler` `errorHandler`
`protected boolean` `failOnError`
`protected java.io.File` `file` file to be validated
`protected java.util.Vector` `filesets` sets of file to be validated
`protected static java.lang.String` `INIT_FAILED_MSG`
`protected boolean` `lenient`
`protected java.lang.String` `readerClassName`
`protected boolean` `warn`
`protected org.xml.sax.XMLReader` `xmlReader` the parser is viewed as a SAX2 XMLReader.

Fields inherited from class org.apache.tools.ant.Task
`description, location, target, taskName, taskType, wrapper`

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

Constructor Summary
`XMLValidateTask()`

Method Summary
`void` `addConfiguredXMLCatalog(XMLCatalog catalog)` add an XMLCatalog as a nested element; optional.
`void` `addFileset(FileSet set)` specify a set of file to be checked
`XMLValidateTask.Attribute` `createAttribute()` Add an attribute nested element.
`Path` `createClasspath()`
`DTDLocation` `createDTD()` Create a DTD location record; optional.
`void` `execute()` Called by the project to let the task do its work.
`protected org.xml.sax.EntityResolver` `getEntityResolver()`
`void` `init()` Called by the project to let the task initialize properly.
`void` `setClassName(java.lang.String className)` Specify the class name of the SAX parser to be used.
`void` `setClasspath(Path classpath)` Specify the classpath to be searched to load the parser (optional)
`void` `setClasspathRef(Reference r)` Where to find the parser class; optional.
`void` `setFailOnError(boolean fail)` Specify how parser error are to be handled.
`void` `setFile(java.io.File file)` specify the file to be checked; optional.
`void` `setLenient(boolean bool)` Specify whether the parser should be validating.
`void` `setWarn(boolean bool)` Specify how parser error are to be handled.

Methods inherited from class org.apache.tools.ant.Task
`getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`getProject, setProject`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### INIT_FAILED_MSG

    protected static final java.lang.String INIT_FAILED_MSG

See Also:
  Constant Field Values

### failOnError

    protected boolean failOnError

### warn

    protected boolean warn

### lenient

    protected boolean lenient

### readerClassName

    protected java.lang.String readerClassName

### file

    protected java.io.File file

  file to be validated

### filesets

    protected java.util.Vector filesets

  sets of file to be validated

### classpath

    protected Path classpath

### xmlReader

    protected org.xml.sax.XMLReader xmlReader

  the parser is viewed as a SAX2 XMLReader. If a SAX1 parser is specified, it's wrapped in an adapter that make it behave as a XMLReader. a more 'standard' way of doing this would be to use the JAXP1.1 SAXParser interface.

### errorHandler

    protected XMLValidateTask.ValidatorErrorHandler errorHandler

Constructor Detail

### XMLValidateTask

    public XMLValidateTask()

Method Detail

### setFailOnError

    public void setFailOnError(boolean fail)

  Specify how parser error are to be handled. Optional, default is `true`.

  If set to `true` (default), throw a buildException if the parser yields an error.

### setWarn

    public void setWarn(boolean bool)

  Specify how parser error are to be handled.

  If set to `true</true> (default), log a warn message for each SAX warn event.`

### setLenient

    public void setLenient(boolean bool)

  Specify whether the parser should be validating. Default is `true`.

  If set to false, the validation will fail only if the parsed document is not well formed XML.

  this option is ignored if the specified class with `setClassName(String)` is not a SAX2 XMLReader.

### setClassName

    public void setClassName(java.lang.String className)

  Specify the class name of the SAX parser to be used. (optional)

  Parameters:
    `className` - should be an implementation of SAX2 `org.xml.sax.XMLReader` or SAX2 `org.xml.sax.Parser`.

    if className is an implementation of `org.xml.sax.Parser`, `setLenient(boolean)`, will be ignored.

    if not set, the default will be used.

  See Also:
    `XMLReader`, `Parser`

### setClasspath

    public void setClasspath(Path classpath)

  Specify the classpath to be searched to load the parser (optional)

### createClasspath

    public Path createClasspath()

  See Also:
    `setClasspath(org.apache.tools.ant.types.Path)`

### setClasspathRef

    public void setClasspathRef(Reference r)

  Where to find the parser class; optional.

  See Also:
    `setClasspath(org.apache.tools.ant.types.Path)`

### setFile

    public void setFile(java.io.File file)

  specify the file to be checked; optional.

### addConfiguredXMLCatalog

    public void addConfiguredXMLCatalog(XMLCatalog catalog)

  add an XMLCatalog as a nested element; optional.

### addFileset

    public void addFileset(FileSet set)

  specify a set of file to be checked

### createAttribute

    public XMLValidateTask.Attribute createAttribute()

  Add an attribute nested element. This is used for setting arbitrary features of the SAX parser. Valid attributes include

  Since:
    ant1.6

### init

    public void init()
              throws BuildException

  Description copied from class: `Task`
  Called by the project to let the task initialize properly. The default implementation is a no-op.

  Overrides:
    `init` in class `Task`
  Throws:
    `BuildException` - if something goes wrong with the build

### createDTD

    public DTDLocation createDTD()

  Create a DTD location record; optional. This stores the location of a DTD. The DTD is identified by its public Id.

### getEntityResolver

    protected org.xml.sax.EntityResolver getEntityResolver()

### execute

    public void execute()
                 throws BuildException

  Description copied from class: `Task`
  Called by the project to let the task do its work. This method may be called more than once, if the task is invoked more than once. For example, if target1 and target2 both depend on target3, then running "ant target1 target2" will run all tasks in target3 twice.

  Overrides:
    `execute` in class `Task`
  Throws:
    `BuildException` - if something goes wrong with the build

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.