“A simple library for simple folk.”
The success of the Ant library for the content delivery team led the authors to consider developing a clean-room, open source equivalent. This would make similar functionality available to the community at large and allow for more rapid development and bug fixes. Shortly thereafter the XPantS ("XML Practical Ant Scripts) library was developed and has recently been made available on GitHub.
There are, of course, a number of differences with the original Ant library as a number of constraints imposed by the original development and production environments no longer apply.
Unlike the Ant library, XPantS is distributed as a Jar file and referenced in build files via the “antlib” system which brings it inline with similar distributions.
The macros are also simpler and more flexible and the library includes a basic set of XSLTs in the deployable Jar file.
Development now uses AntUnit to test the macros themselves and the library now includes a simple wrapper around the XSpec library.
Documentation for the macros does not require separate hosting. The Markdown is extracted as part of a local build process and uploaded to GitHub Docs.
XPantS has a number of dependencies, including:
ANT
Contrib. XPantS uses some tasks defined by ANT Contrib,
particularly the <for>
and
<propertyregex>
tasks.
Although it is not required the Saxon XSLT and XQuery Processor is recommended. XPantS will use Saxon for XSLT processing if it can, otherwise it will default to Xalan.
XML Resolver, installed in Ant’s classpath.
For simplicity the ISO Schematron XSLT files are included directly in the XSLT part of the library.
The <convert-schema>
and
<validate-with-schematron>
macros use
the
Trang
converter and
Jing
validator respectively which should also be available in the Ant
classpath.
A number of macros act as wrappers around command line applications, which obviously need to be installed to work. These include: AWS Command Line Tools, Git, Pandoc, Python, SSH, HTML Tidy and XSpec.