Please refer to the Ant manual under Installing Ant / Library
Dependencies for a list of the jar requirements for various optional
tasks and features.

This directory contains xercesImpl.jar from the 2.6.0 release of
Apache Xerces.  For more information or newer releases see
<http://xml.apache.org/xerces2-j/>.  See the file LICENSE.xerces for
the terms of distribution.

It also contains xml-apis.jar from the 2.6.0 release of Apache Xerces.
For more information or newer releases see
<http://xml.apache.org/commons/>.  See the files LICENSE.dom and
LICENSE.sax for the terms of distribution.

