Introduction
This is a web application to validate XML content against XML Schema and Schematron. Validation is possible via several channels:
- Web user interface for manual use by users,
- REST API for machine-to-machine integration.
- SOAP API for machine-to-machine integration and use in GITB TDL conformance test cases.
This validator, offered as a public Docker image on the Docker Hub with its source published on GitHub, acts as a generic foundation for specific validator instances which are provided with the configuration to apply. This configuration includes:
- The validation artefacts to use (one or more XSD and/or Schematrons).
- Configuration to customise the validator (e.g. look and feel, validation types and options).
This image is maintained by the European Commission's DIGIT and specifically the Interoperability Test Bed, a conformance testing service for projects involved in the delivery of cross-border public services. Find out more here.
Usage
The validator is primarily intended to be used as a Docker container (although alternative approaches are also possible). The base Docker image provides the basis upon which you can build a specific validator instance. This can be done either by building a custom image that includes your configuration or by passing the configuration to a container built from the base image. In any case the validator's application is internally exposed to port 8080.
In terms of the image version to use you can use either the latest tag to receive rapid updates, or a specific tagged release milestone if ensuring stability is most important.
Approach 1: Use custom image
Assuming you are building this from a folder that includes all configuration resources in subfolder resources
, a sample Dockerfile would be as follows:
FROM isaitb/xml-validator:latest
COPY resources /validator/resources/
ENV validator.resourceRoot /validator/resources/
Approach 2: Use the base image directly
Using this approach you would need to make use of a volume (named or unnamed). Using an unnamed volume your container can be created as follows:
docker run -d --name my-validator -p 8080:8080 \
-v /validator/resources:/validator/resources/ \
-e validator.resourceRoot=/validator/resources/ \
isaitb/xml-validator
Documentation
For full details on how to setup, configure and manage a validator built using this image please refer to the Test Bed's XML validation guide.
Change history
The list of changes in the latest snapshot and individual milestone releases is available in the documentation's changelog.
Licence
This tool is shared using the European Union Public Licence (EUPL) version 1.2.
Legal notice
The authors of this tool waive any and all liability linked to its usage or the interpretation of its results. In terms of data, the tool does not harvest, collect or process in any way data that could be linked to the tool's user or workstation, nor does it maintain any state or statistics other than the report files that it produces as output.
Contact
To get in touch for feedback or questions you are invited to use one of the following channels:
- Create an issue in the validator's GitHub repository.
- Send an email to DIGIT-ITB@ec.europa.eu.