Skip to content

leplusorg/docker-xml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.