org.jung.schematron is a plugin for the DITA Open Toolkit (DITA-OT). It uses the depend.preprocess.post
extension point to validate DITA maps and topics after the preprocessing phase. The plugin uses ph-schematron for validation.
ph-schematron is a Java library that validates XML documents via ISO Schematron. It is licensed under Apache 2.0 license.
Parameter | Description |
---|---|
schematron.processing.engine | Schematron processing engine: pure (default), schematron or xslt |
schematron.map.validation.files | Comma separated list of Schematron files for map validation |
schematron.topic.validation.files | Comma separated list of Schematron files for topic validation |
schematron.fail | Indicates, whether the build should fail, if a role fires with a certain role level. Possible values: true (default) or false |
schematron.failon.fatal | Indicates, whether the build should fail, if a Schematron rule with role fatal is fired. Possible values: true (default) or false |
schematron.failon.error | Indicates, whether the build should fail, if a Schematron rule with role error is fired. Possible values: true (default) or false |
schematron.failon.warning | Indicates, whether the build should fail, if a Schematron rule with role warning is fired. Possible values: true or false (default) |
schematron.failon.info | Indicates, whether the build should fail, if a Schematron rule with role info is fired. Possible values: true or false (default) |
schematron.svrl.dir | Directory, where Schematron results (SVRL files) should be saved. If not set, no SVRL files are generated. |
You can simply install the plugin to the DITA-OT via dita --install
.
dita --install https://github.com/stefan-jung/org.jung.schematron/archive/master.zip
You just have to set the schematron.topic.validation.files
or schematron.map.validation.files
property or both of them and then run a DITA-OT publication as usual.
dita --input my.ditamap \
--format pdf2 \
--verbose \
-Dschematron.topic.validation.files=topic-validation-1.sch,topic-validation-2.sch \
-Dschematron.map.validation.files=map-validation.sch \
-Dschematron.fail=true \
-Dschematron.failon.error=true