/docker-xml

Docker container with utilities to process XML data (xmllint...).

Primary LanguageDockerfileApache License 2.0Apache-2.0

XML

Docker container with utilities to process XML data (xmllint, xsltproc...).

Docker Build Docker Stars Docker Pulls Docker Automated Docker Build Docker Version

Example not using the filesystem

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 thomasleplus/xml xmllint - > bar.xml

Windows

type foo.xml | docker run --rm -i --net=none thomasleplus/xml xmllint - > bar.xml

Example requiring the filesystem

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" thomasleplus/xml xmllint --schema /tmp/foo.xsd /tmp/foo.xml --noout

Windows

In cmd:

docker run --rm -t --net=none -v "%cd%:/tmp" thomasleplus/xml xmllint --schema /tmp/foo.xsd /tmp/foo.xml --noout

In PowerShell:

docker run --rm -t --net=none -v "${PWD}:/tmp" thomasleplus/xml xmllint --schema /tmp/foo.xsd /tmp/foo.xml --noout

XSLT with Saxon HE

docker run --rm -t --user="$(id -u):$(id -g)" --net=none -v "$(pwd):/tmp" thomasleplus/xml java -jar /opt/Saxon-HE-9.9.1-7.jar -s:/tmp/source.xml -xsl:/tmp/stylesheet.xsl -o:/tmp/output.xml

Help

To know more command line options of xmllint:

docker run --rm --net=none thomasleplus/xml xmllint --help

Request new tool

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.