Skip to content

Latest commit

 

History

History
69 lines (44 loc) · 2.44 KB

README.md

File metadata and controls

69 lines (44 loc) · 2.44 KB

XML

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

Dockerfile Docker Build Docker Stars Docker Pulls 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 leplusorg/xml xmllint - > bar.xml

Windows

type foo.xml | docker run --rm -i --net=none leplusorg/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" 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

XSLT with Saxon HE

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.

Help

To know more command-line options of xmllint:

docker run --rm --net=none leplusorg/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.