Docker container with utilities to process XML data (xmllint, xsltproc...).
Let's say that you have a file foo.xml
that you want to reformat and save the result to bar.xml
:
Mac/Linux
cat foo.xml | docker run --rm -i --net=none leplusorg/xml xmllint - > bar.xml
Windows
type foo.xml | docker run --rm -i --net=none leplusorg/xml xmllint - > bar.xml
Assuming that you have a file foo.xml
in your current working directory that you want to validate using foo.xsd
:
Mac/Linux
docker run --rm -t --user="$(id -u):$(id -g)" --net=none -v "$(pwd):/tmp" leplusorg/xml xmllint --schema /tmp/foo.xsd /tmp/foo.xml --noout
Windows
In cmd
:
docker run --rm -t --net=none -v "%cd%:/tmp" leplusorg/xml xmllint --schema /tmp/foo.xsd /tmp/foo.xml --noout
In PowerShell:
docker run --rm -t --net=none -v "${PWD}:/tmp" leplusorg/xml xmllint --schema /tmp/foo.xsd /tmp/foo.xml --noout
docker run --rm -t --user="$(id -u):$(id -g)" --net=none -v "$(pwd):/tmp" leplusorg/xml java -jar /opt/saxon/run.sh -s:/tmp/source.xml -xsl:/tmp/stylesheet.xsl -o:/tmp/output.xml
See Saxon's documentation for more details regarding syntax and options.
To know more command-line options of xmllint
:
docker run --rm --net=none leplusorg/xml xmllint --help
Please use this link (GitHub account required) to request that a new tool be added to the image. I am always interested in adding new capabilities to these images.