2 <?xml-stylesheet type="text/xsl"
3 href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"?>
4 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
5 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
7 <!ENTITY xsltproc "<command>xsltproc</command>">
13 <title>xsltproc Manual</title>
14 <productname>libxslt</productname>
20 <firstname>John</firstname>
21 <surname>Fleck</surname>
24 <email>jfleck@inkstain.net</email>
28 <!-- date should be the date of the latest change or the release version -->
29 <date>2006-03-05</date>
30 <!-- still a bit buggy output, will talk to docbook-xsl upstream to fix this -->
31 <!-- <releaseinfo>This is release 0.4 of the xsltproc Manual.</releaseinfo> -->
32 <!-- <edition>0.4</edition> -->
36 <refentrytitle>xsltproc</refentrytitle>
37 <manvolnum>1</manvolnum>
41 <refname>xsltproc</refname>
42 <refpurpose>command line XSLT processor</refpurpose>
46 <cmdsynopsis sepchar="|">
47 <command>xsltproc</command>
50 <arg choice="plain"><option>-V</option></arg>
51 <arg choice="plain"><option>--version</option></arg>
54 <arg choice="plain"><option>-v</option></arg>
55 <arg choice="plain"><option>--verbose</option></arg>
59 <arg choice="plain"><option>-o</option></arg>
60 <arg choice="plain"><option>--output</option></arg>
63 <arg choice="plain"><replaceable class="option">FILE</replaceable></arg>
64 <arg choice="plain"><replaceable class="option">DIRECTORY</replaceable></arg>
67 <arg choice="plain"><option>--timing</option></arg>
68 <arg choice="plain"><option>--repeat</option></arg>
69 <arg choice="plain"><option>--debug</option></arg>
70 <arg choice="plain"><option>--novalid</option></arg>
71 <arg choice="plain"><option>--noout</option></arg>
72 <arg choice="plain"><option>--maxdepth <replaceable class="option">VALUE</replaceable></option></arg>
73 <arg choice="plain"><option>--html</option></arg>
74 <arg choice="plain"><option>--param
75 <replaceable class="option">PARAMNAME</replaceable>
76 <replaceable class="option">PARAMVALUE</replaceable>
78 <arg choice="plain"><option>--stringparam
79 <replaceable class="option">PARAMNAME</replaceable>
80 <replaceable class="option">PARAMVALUE</replaceable>
82 <arg choice="plain"><option>--nonet</option></arg>
83 <arg choice="plain"><option>--path "<replaceable class="option">PATH(S)</replaceable>"</option></arg>
84 <arg choice="plain"><option>--load-trace</option></arg>
85 <arg choice="plain"><option>--catalogs</option></arg>
86 <arg choice="plain"><option>--xinclude</option></arg>
89 <arg choice="plain"><option>--profile</option></arg>
90 <arg choice="plain"><option>--norman</option></arg>
93 <arg choice="plain"><option>--dumpextensions</option></arg>
94 <arg choice="plain"><option>--nowrite</option></arg>
95 <arg choice="plain"><option>--nomkdir</option></arg>
96 <arg choice="plain"><option>--writesubtree <replaceable>PATH</replaceable></option></arg>
97 <arg choice="plain"><option>--nodtdattr</option></arg>
99 <arg choice="opt"><replaceable>STYLESHEET</replaceable></arg>
101 <arg choice="plain" rep="norepeat"><replaceable>XML-FILE</replaceable></arg>
102 <arg choice="plain" rep="norepeat">-</arg>
107 <refsect1 id="description">
108 <title>DESCRIPTION</title>
110 &xsltproc; is a command line tool for applying <acronym>XSLT</acronym>
111 stylesheets to <acronym>XML</acronym> documents. It is part
113 <refentrytitle>libxslt</refentrytitle>
114 <manvolnum>3</manvolnum>
115 </citerefentry>, the XSLT C library for GNOME.
116 While it was developed as part of the GNOME project, it can operate
117 independently of the GNOME desktop.
120 &xsltproc; is invoked from the command line with the name of the
121 stylesheet to be used followed by the name of the file or files to which
122 the stylesheet is to be applied. It will use the standard input if a
123 filename provided is <emphasis role="bold">-</emphasis> .
126 If a stylesheet is included in an <acronym>XML</acronym> document with a
127 Stylesheet Processing Instruction, no stylesheet need to be named at the
128 command line. &xsltproc; will automatically detect the included stylesheet
132 By default, output is to <filename class="devicefile">stdout</filename>.
133 You can specify a file for output using
134 the <option>-o</option> or <option>--output</option> option.
136 <para>More information can be found at
140 <refentrytitle>libxml</refentrytitle>
141 <manvolnum>3</manvolnum>
142 </citerefentry> web page <ulink url="http://www.xmlsoft.org/"/>
147 W3C <acronym>XSLT</acronym> page <ulink url="http://www.w3.org/TR/xslt"/>
154 <refsect1 id="options">
155 <title>OPTIONS</title>
157 &xsltproc; accepts the following options (in alphabetical order):
162 <term><option>--catalogs</option></term>
165 Use the <acronym>SGML</acronym> catalog specified
166 in <envar>SGML_CATALOG_FILES</envar> to resolve the location of
167 external entities. By default, &xsltproc; looks for the catalog
168 specified in <envar>XML_CATALOG_FILES</envar>. If that is not
169 specified, it uses <filename>/etc/xml/catalog</filename>.
175 <term><option>--debug</option></term>
178 Output an <acronym>XML</acronym> tree of the transformed document
179 for debugging purposes.
185 <term><option>--dumpextensions</option></term>
188 Dumps the list of all registered extensions
189 on <filename class="devicefile">stdout</filename>.
195 <term><option>--html</option></term>
197 <para>The input document is an <acronym>HTML</acronym> file.</para>
202 <term><option>--load-trace</option></term>
205 Display all the documents loaded during the processing
206 to <filename class="devicefile">stderr</filename>.
212 <term><option>--maxdepth <replaceable>VALUE</replaceable></option></term>
215 Adjust the maximum depth of the template stack
216 before <citerefentry>
217 <refentrytitle>libxslt</refentrytitle>
218 <manvolnum>3</manvolnum>
219 </citerefentry> concludes it is in an infinite loop. The default is 500.
225 <term><option>--nodtdattr</option></term>
228 Do not apply default attributes from the
229 document's <acronym>DTD</acronym>.
235 <term><option>--nomkdir</option></term>
237 <para>Refuses to create directories.</para>
242 <term><option>--nonet</option></term>
245 Do not use the Internet to fetch <acronym>DTD</acronym>s, entities
252 <term><option>--noout</option></term>
254 <para>Do not output the result.</para>
259 <term><option>--novalid</option></term>
261 <para>Skip loading the document's <acronym>DTD</acronym>.</para>
266 <term><option>--nowrite</option></term>
268 <para>Refuses to write to any file or resource.</para>
274 <option>-o</option> or <option>--output</option>
275 <replaceable>FILE</replaceable> | <replaceable>DIRECTORY</replaceable>
279 Direct output to the given <replaceable>FILE</replaceable>. Using
280 the option with a <replaceable>DIRECTORY</replaceable> directs the
281 output files to the specified directory. This can be
282 useful for multiple outputs (also known as "chunking") or manpage
283 processing. <emphasis role="bold">Note:</emphasis> The given
284 directory <emphasis role="bold">must</emphasis>
292 <option>--param <replaceable>PARAMNAME</replaceable> <replaceable>PARAMVALUE</replaceable></option>
296 Pass a parameter of name <replaceable>PARAMNAME</replaceable> and
297 value <replaceable>PARAMVALUE</replaceable> to the stylesheet. You
298 may pass multiple name/value pairs up to a maximum of 32. If the
299 value being passed is a string rather than a node identifier,
300 use <option>--stringparam</option> instead.
306 <term><option>--path "<replaceable>PATH(S)</replaceable>"</option></term>
309 Use the (space- or colon-separated) list of filesystem paths specified
310 by <replaceable>PATHS</replaceable> to load <acronym>DTD</acronym>s,
311 entities or documents. Enclose space-separated lists by quotation marks.
317 <term><option>--profile</option> or <option>--norman</option></term>
320 Output profiling information detailing the amount of time spent in
321 each part of the stylesheet. This is useful in optimizing stylesheet
328 <term><option>--repeat</option></term>
330 <para>Run the transformation 20 times. Used for timing tests.</para>
336 <option>--stringparam <replaceable>PARAMNAME</replaceable> <replaceable>PARAMVALUE</replaceable></option>
340 Pass a paramenter of name <replaceable>PARAMNAME</replaceable> and
341 value <replaceable>PARAMVALUE</replaceable>
342 where <replaceable>PARAMVALUE</replaceable> is a string rather than a
343 node identifier. <emphasis role="bold">Note:</emphasis> The string
344 must be UTF-8 encoded.
350 <term><option>--timing</option></term>
353 Display the time used for parsing the stylesheet, parsing the document
354 and applying the stylesheet and saving the result. Displayed in
361 <term><option>-v</option> or <option>--verbose</option></term>
364 Output each step taken by &xsltproc; in processing the stylesheet
371 <term><option>-V</option> or <option>--version</option></term>
374 Show the version of <citerefentry>
375 <refentrytitle>libxml</refentrytitle>
376 <manvolnum>3</manvolnum>
377 </citerefentry> and <citerefentry>
378 <refentrytitle>libxslt</refentrytitle>
379 <manvolnum>3</manvolnum>
380 </citerefentry> used.
386 <term><option>--writesubtree <replaceable>PATH</replaceable></option></term>
389 Allow file write only within the <replaceable>PATH</replaceable>
396 <term><option>--xinclude</option></term>
399 Process the input document using the Xinclude specification. More
400 details on this can be found in the Xinclude
401 specification: <ulink url="http://www.w3.org/TR/xinclude/"/>
409 <refsect1 id="environment">
410 <title>ENVIRONMENT</title>
414 <term><envar>SGML_CATALOG_FILES</envar></term>
416 <para>to be written ...</para>
421 <term><envar>XML_CATALOG_FILES</envar></term>
424 Catalog behavior can be changed by redirecting queries to the user's
425 own set of catalogs. This can be done by setting
426 the <envar>XML_CATALOG_FILES</envar> environment variable to a list
427 of catalogs. An empty one should deactivate loading the
428 default <filename>/etc/xml/catalog</filename> default catalog.
436 <refsect1 id="diagnostics">
437 <title>DIAGNOSTICS</title>
439 &xsltproc;'s return codes provide information that can be used when
440 calling it from scripts.
445 <term><errorcode>0</errorcode></term>
447 <para>No error (normal operation)</para>
452 <term><errorcode>1</errorcode></term>
454 <para>No argument</para>
459 <term><errorcode>2</errorcode></term>
461 <para>Too many parameters</para>
466 <term><errorcode>3</errorcode></term>
468 <para>Unknown option</para>
473 <term><errorcode>4</errorcode></term>
475 <para>Failed to parse the stylesheet</para>
480 <term><errorcode>5</errorcode></term>
482 <para>Error in the stylesheet</para>
487 <term><errorcode>6</errorcode></term>
489 <para>Error in one of the documents</para>
494 <term><errorcode>7</errorcode></term>
496 <para>Unsupported xsl:output method</para>
501 <term><errorcode>8</errorcode></term>
503 <para>String parameter contains both quote and double-quotes</para>
508 <term><errorcode>9</errorcode></term>
510 <para>Internal processing error</para>
515 <term><errorcode>10</errorcode></term>
517 <para>Processing was stopped by a terminating message</para>
524 <refsect1 id="seealso">
525 <title>SEE ALSO</title>
528 <refentrytitle>libxslt</refentrytitle>
529 <manvolnum>3</manvolnum>