XSLT and XQuery Specifications - the source used to build the specs, and the errata
OTHER License
This document outlines the layout of the files in these directories and some technical details of build process.
Updated MHK 2012-06-18 to remove some obviously out-of-date information.
etc ............ common data; bibliography, link summary, and common Ant scripts lib ............ jar files for the build process requirements ... QT requirements documents schema ......... Schemas and DTDs for the documents in this tree specifications . QT specification documents style .......... Stylesheets to build the documents in this tree test-suites .... QT test suites use-cases ...... QT use case documents
The migration from the old build tree to this new one is largely complete. An exception is the errata process, which has not yet been migrated.
These documents are all built with Ant[1] (version 1.7.0 at the time of this writing).
The build script (build.xml) in each directory supports the following targets:
"all" -- builds everything
"spec" -- builds the document
"errata" -- builds the errata
"clean" -- deletes temporary files
Some documents also support additional targets of the form "ns-" where "" is the name of some namespace; for example, the XPath Functions specification includes the target ns-xpath-functions to build the namespace document for the XPath Functions namespace.
As much as practical, common code has been factored out of the build scripts in each directory.
Each document's build.xml file includes two additional build scripts:
.../etc/build-constants.xml
This defines class paths and other constants
.../etc/build-impl.xml
This defines common targets
To handle cross-spec linking, the build process for each specification constructs a document in /etc which contains an index of all the link targets in that document. When building other documents, it is this index which is consulted, not the base document itself.
Some of the build files use Ant tasks from the contributor library. See: http://ant-contrib.sourceforge.net/
To run these, use for example: ant -lib ~/downloads/ant-contrib-1/ant-contrib-1.0b3.jar
Equivalently, you could add "-lib /path/to/ant-contrib-1.0b3.jar" to environment variable ANT_ARGS.
Alternatively, you could put the ant-contrib-*.jar file in the 'lib' directory of your ant installation.
Some of the build files may cause Ant to run out of PermGen memory. To avoid this, use for example:
export ANT_OPTS="-Xms3000m -Xmx3000m -XX:PermSize=3000m -XX:MaxPermSize=3000m"