Chapter 1. Dependencies
XML Calabash runs on the JVM and requires Java version 11 or later. It is implemented in Kotlin. It relies on the Kotlin runtime and on third party libraries for some functionality. In particular it was built with:
- Saxon 12.x
XML Calabash 3.x is built on top of Saxon 12.5. There is no support for earlier releases of Saxon. It will work with Saxon HE, but you will have to provide Saxon EE and an appropriate license if you want to use licensed features (like XML Schema validation).
- brotliDec, version 0.1.2
To support
.br
archive files.- commonsCodec, version 1.17.0
For common encoders and decoders.
- commonsCompress, version 1.27.1
To support processing many flavors of archive files.
- flexmarkAll, version 0.64.8
To support MarkDown to HTML conversion.
- htmlparser, version 1.4.16
To parse HTML.
- httpClient, version 5.3.1
To support HTTP requests.
- jing, version 20241231
To support RELAX NG and NVDL validation.
- jsonSchemaValidator, version 1.5.4
To support JSON schema validation.
- SchXslt2, version 1.3.1
To support Schematron.
- sinclude, version 5.2.4
To support XInclude.
- slf4j, version 2.0.16
For logging.
- tukaaniXz, version 1.10
To support
.xz
archive files.- xercesImpl, version 2.12.2
Where the Xerces XML parser is used.
- uuidCreator, version 6.0.0
To support UUIDs.
- xmlResolver, version 6.0.10
For XML Catalog resolution.
Some extension steps require additional dependencies. Those dependencies are documented with the extension steps.
If your pipelines don’t use features supported by third party libraries
(for example, if you don’t have .br
archives or convert
MarkDown documents), you can omit the dependencies.
In many cases, you can use different versions of these libraries. For example, you can usually upgrade to more recent minor revisions. If the third party API has changed in some incompatible way, your pipeline will fail.