xsltproc — command line XSLT processor
xsltproc [[ -V | --version ] [ -v | --verbose ] [{ -o | --output } { FILE | DIRECTORY }] | --timing | --repeat | --debug | --novalid | --noout | --maxdepth | VALUE--maxvars | VALUE--maxparserdepth | VALUE--huge | --seed-rand | VALUE--html | --encoding
| ENCODING
--param
| PARAMNAME
PARAMVALUE
--stringparam
| PARAMNAME
PARAMVALUE
--nonet | --path " | PATH(S)"--load-trace | --catalogs | --xinclude | --xincludestyle |
[ --profile | --norman ]
| --dumpextensions | --nowrite | --nomkdir | --writesubtree | PATH--nodtdattr ] [STYLESHEET] { XML-FILE... | - }
xsltproc is a command line tool for applying XSLT stylesheets to XML documents. It is part of libxslt(3), the XSLT C library for GNOME. While it was developed as part of the GNOME project, it can operate independently of the GNOME desktop.
xsltproc is invoked from the command line with the name of the stylesheet to be used followed by the name of the file or files to which the stylesheet is to be applied. It will use the standard input if a filename provided is - .
If a stylesheet is included in an XML document with a Stylesheet Processing Instruction, no stylesheet need to be named at the command line. xsltproc will automatically detect the included stylesheet and use it.
By default, output is to stdout.
You can specify a file for output using
the -o or --output option.
xsltproc accepts the following options (in alphabetical order):
--catalogs
Use the SGML catalog specified
in SGML_CATALOG_FILES to resolve the location of
external entities. By default, xsltproc looks for the catalog
specified in XML_CATALOG_FILES. If that is not
specified, it uses /etc/xml/catalog.
--debugOutput an XML tree of the transformed document for debugging purposes.
--dumpextensions
Dumps the list of all registered extensions
on stdout.
--htmlThe input document is an HTML file.
--load-trace
Display all the documents loaded during the processing
to stderr.
--maxdepth VALUEAdjust the maximum depth of the template stack before libxslt(3) concludes it is in an infinite loop. The default is 3000.
--maxvars VALUEMaximum number of variables. The default is 15000.
--maxparserdepth VALUEMaximum element nesting level of parsed XML documents. The default is 256.
--hugeRelax hardcoded limits of the XML parser by setting the XML_PARSE_HUGE parser option.
--seed-rand VALUEInitialize pseudo random number generator with specific seed.
--nodtdattrDo not apply default attributes from the document's DTD.
--nomkdirRefuses to create directories.
--nonetDo not use the Internet to fetch DTDs, entities or documents.
--nooutDo not output the result.
--novalidSkip loading the document's DTD.
--nowriteRefuses to write to any file or resource.
-o or --output
FILE | DIRECTORY
Direct output to the given FILE. Using
the option with a DIRECTORY directs the
output files to the specified directory. This can be
useful for multiple outputs (also known as "chunking") or manpage
processing.
The given directory must already exist.
Make sure that FILE
and DIRECTORY follow the “URI reference
computation” as described in RFC 2396 and laters. This means, that
e.g. -o directory will maybe not work,
but -o directory/ will.
--encoding ENCODING
Allow to specify the encoding for the input.
--param PARAMNAME PARAMVALUE
Pass a parameter of name PARAMNAME and value
PARAMVALUE to the stylesheet. You may pass
multiple name/value pairs up to a maximum of 32. If the value being passed
is a string, you can use --stringparam instead, to avoid
additional quote characters that appear in string expressions. Note:
the XPath expression must be UTF-8 encoded.
--path "PATH(S)"
Use the (space- or colon-separated) list of filesystem paths specified
by PATHS to load DTDs,
entities or documents. Enclose space-separated lists by quotation marks.
--profile or --normanOutput profiling information detailing the amount of time spent in each part of the stylesheet. This is useful in optimizing stylesheet performance.
--repeatRun the transformation 20 times. Used for timing tests.
--stringparam PARAMNAME PARAMVALUE
Pass a parameter of name PARAMNAME and
value PARAMVALUE
where PARAMVALUE is a string rather than a
node identifier. Note: The string
must be UTF-8 encoded.
--timingDisplay the time used for parsing the stylesheet, parsing the document and applying the stylesheet and saving the result. Displayed in milliseconds.
-v or --verboseOutput each step taken by xsltproc in processing the stylesheet and the document.
-V or --versionShow the version of libxml(3) and libxslt(3) used.
--writesubtree PATH
Allow file write only within the PATH
subtree.
--xincludeProcess the input document using the XInclude specification. More details on this can be found in the XInclude specification: http://www.w3.org/TR/xinclude/
--xincludestyleProcess the stylesheet with XInclude.
SGML_CATALOG_FILESSGML catalog behavior can be changed by redirecting
queries to the user's own set of catalogs. This can be done by setting
the SGML_CATALOG_FILES environment variable to a list
of catalogs. An empty one should deactivate loading the
default /etc/sgml/catalog catalog.
XML_CATALOG_FILESXML catalog behavior can be changed by redirecting
queries to the user's own set of catalogs. This can be done by setting
the XML_CATALOG_FILES environment variable to a list
of catalogs. An empty one should deactivate loading the
default /etc/xml/catalog catalog.
xsltproc return codes provide information that can be used when calling it from scripts.
No error (normal operation)
No argument
Too many parameters
Unknown option
Failed to parse the stylesheet
Error in the stylesheet
Error in one of the documents
Unsupported xsl:output method
String parameter contains both quote and double-quotes
Internal processing error
Processing was stopped by a terminating message
Could not write the result to the output file
libxml(3), libxslt(3)
More information can be found at
libxml(3) web page https://gitlab.gnome.org/GNOME/libxslt
W3C XSLT page http://www.w3.org/TR/xslt