Here is synopsis for 'xml c14n' command:
XMLStarlet Toolkit: XML canonicalization
Usage: xml c14n <mode> <xml-file> [<xpath-file>] [<inclusive-ns-list>]
where
<xml-file> - input XML document file name (stdin is used if '-')
<xpath-file> - XML file containing XPath expression for
c14n XML canonicalization
Example:
<?xml version="1.0"?>
<XPath xmlns:n0="http://a.example.com" xmlns:n1="http://b.example">
(//. | //@* | //namespace::*)[ancestor-or-self::n1:elem1]
</XPath>
<inclusive-ns-list> - the list of inclusive namespace prefixes
(only for exclusive canonicalization)
Example: 'n1 n2'
<mode> is one of following:
--with-comments XML file canonicalization w comments (default)
--without-comments XML file canonicalization w/o comments
--exc-with-comments Exclusive XML file canonicalization w comments
--exc-without-comments Exclusive XML file canonicalization w/o comments
XMLStarlet is a command line toolkit to query/edit/check/transform
XML documents (for more information see http://xmlstar.sourceforge.net/)
EXAMPLE
# XML canonicalization xml c14n --with-comments ../examples/xml/structure.xml ; echo $?
Input ../examples/xml/structure.xml
<a1>
<a11>
<a111>
<a1111/>
</a111>
<a112>
<a1121/>
</a112>
</a11>
<a12/>
<a13>
<a131/>
</a13>
</a1>Output
<a1>
<a11>
<a111>
<a1111></a1111>
</a111>
<a112>
<a1121></a1121>
</a112>
</a11>
<a12></a12>
<a13>
<a131></a131>
</a13>
</a1>
0
EXAMPLE
# XML exclusive canonicalization xml c14n --exc-with-comments ../examples/xml/c14n.xml ../examples/xml/c14n.xpath
Input
../examples/xml/c14n.xml <n0:pdu xmlns:n0='http://a.example.com'> <n1:elem1 xmlns:n1='http://b.example'> content </n1:elem1> </n0:pdu> ../examples/xml/c14n.xpath <XPath xmlns:n0="http://a.example.com" xmlns:n1="http://b.example"> (//. | //@* | //namespace::*)[ancestor-or-self::n1:elem1] </XPath>
Output
<n1:elem1 xmlns:n1="http://b.example"> content </n1:elem1>