logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

xsltproc - command line XSLT processor

Author

JohnFleck <jfleck@inkstain.net>
           Author.

Description

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.

Diagnostics

xsltproc return codes provide information that can be used when calling it from scripts.

       0
           No error (normal operation)

       1
           No argument

       2
           Too many parameters

       3
           Unknown option

       4
           Failed to parse the stylesheet

       5
           Error in the stylesheet

       6
           Error in one of the documents

       7
           Unsupported xsl:output method

       8
           String parameter contains both quote and double-quotes

       9
           Internal processing error

       10
           Processing was stopped by a terminating message

       11
           Could not write the result to the output file

Environment

SGML_CATALOG_FILES
           SGML 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_FILES
           XML 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.

Name

       xsltproc - command line XSLT processor

Options

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.

       --debug
           Output an XML tree of the transformed document for debugging purposes.

       --dumpextensions
           Dumps the list of all registered extensions on stdout.

       --html
           The input document is an HTML file.

       --load-trace
           Display all the documents loaded during the processing to stderr.

       --maxdepthVALUE
           Adjust the maximum depth of the template stack before libxslt(3) concludes it is in an infinite loop.
           The default is 3000.

       --maxvarsVALUE
           Maximum number of variables. The default is 15000.

       --maxparserdepthVALUE
           Maximum element nesting level of parsed XML documents. The default is 256.

       --huge
           Relax hardcoded limits of the XML parser by setting the XML_PARSE_HUGE parser option.

       --seed-randVALUE
           Initialize pseudo random number generator with specific seed.

       --nodtdattr
           Do not apply default attributes from the document's DTD.

       --nomkdir
           Refuses to create directories.

       --nonet
           Do not use the Internet to fetch DTDs, entities or documents.

       --noout
           Do not output the result.

       --novalid
           Skip loading the document's DTD.

       --nowrite
           Refuses to write to any file or resource.

       -o or --outputFILE | 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.

               Important
               The given directory must already exist.

               Note
               Make sure that FILE and DIRECTORY follow the “URI reference computation” as described in RFC 2396
               and laters. This means, that e.g.  -odirectory will maybe not work, but -odirectory/ will.

       --encodingENCODING
           Allow to specify the encoding for the input.

       --paramPARAMNAMEPARAMVALUE
           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 --norman
           Output profiling information detailing the amount of time spent in each part of the stylesheet. This
           is useful in optimizing stylesheet performance.

       --repeat
           Run the transformation 20 times. Used for timing tests.

       --stringparamPARAMNAMEPARAMVALUE
           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.

       --timing
           Display the time used for parsing the stylesheet, parsing the document and applying the stylesheet
           and saving the result. Displayed in milliseconds.

       -v or --verbose
           Output each step taken by xsltproc in processing the stylesheet and the document.

       -V or --version
           Show the version of libxml(3) and libxslt(3) used.

       --writesubtreePATH
           Allow file write only within the PATH subtree.

       --xinclude
           Process the input document using the XInclude specification. More details on this can be found in the
           XInclude specification: http://www.w3.org/TR/xinclude/--xincludestyle
           Process the stylesheet with XInclude.

See Also

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

Synopsis

xsltproc [[-V | --version] [-v | --verbose] [{-o | --output} {FILE | DIRECTORY}] | --timing | --repeat |
                --debug | --novalid | --noout | --maxdepthVALUE | --maxvarsVALUE | --maxparserdepthVALUE |
                --huge | --seed-randVALUE | --html | --encodingENCODING  | --paramPARAMNAMEPARAMVALUE  |
                --stringparamPARAMNAMEPARAMVALUE  | --nonet | --path"PATH(S)" | --load-trace | --catalogs |
                --xinclude | --xincludestyle | [--profile | --norman] | --dumpextensions | --nowrite | --nomkdir
                | --writesubtreePATH | --nodtdattr] [STYLESHEET] {XML-FILE... | -}

See Also