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 -->
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>
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>--encoding
75 <replaceable class="option">ENCODING</replaceable>
77 <arg choice="plain"><option>--param
78 <replaceable class="option">PARAMNAME</replaceable>
79 <replaceable class="option">PARAMVALUE</replaceable>
81 <arg choice="plain"><option>--stringparam
82 <replaceable class="option">PARAMNAME</replaceable>
83 <replaceable class="option">PARAMVALUE</replaceable>
85 <arg choice="plain"><option>--nonet</option></arg>
86 <arg choice="plain"><option>--path "<replaceable class="option">PATH(S)</replaceable>"</option></arg>
87 <arg choice="plain"><option>--load-trace</option></arg>
88 <arg choice="plain"><option>--catalogs</option></arg>
89 <arg choice="plain"><option>--xinclude</option></arg>
92 <arg choice="plain"><option>--profile</option></arg>
93 <arg choice="plain"><option>--norman</option></arg>
96 <arg choice="plain"><option>--dumpextensions</option></arg>
97 <arg choice="plain"><option>--nowrite</option></arg>
98 <arg choice="plain"><option>--nomkdir</option></arg>
99 <arg choice="plain"><option>--writesubtree <replaceable>PATH</replaceable></option></arg>
100 <arg choice="plain"><option>--nodtdattr</option></arg>
102 <arg choice="opt"><replaceable>STYLESHEET</replaceable></arg>
104 <arg choice="plain" rep="norepeat"><replaceable>XML-FILE</replaceable></arg>
105 <arg choice="plain" rep="norepeat">-</arg>
110 <refsect1 id="description">
111 <title>DESCRIPTION</title>
113 &xsltproc; is a command line tool for applying <acronym>XSLT</acronym>
114 stylesheets to <acronym>XML</acronym> documents. It is part
116 <refentrytitle>libxslt</refentrytitle>
117 <manvolnum>3</manvolnum>
118 </citerefentry>, the XSLT C library for GNOME.
119 While it was developed as part of the GNOME project, it can operate
120 independently of the GNOME desktop.
123 &xsltproc; is invoked from the command line with the name of the
124 stylesheet to be used followed by the name of the file or files to which
125 the stylesheet is to be applied. It will use the standard input if a
126 filename provided is <emphasis role="bold">-</emphasis> .
129 If a stylesheet is included in an <acronym>XML</acronym> document with a
130 Stylesheet Processing Instruction, no stylesheet need to be named at the
131 command line. &xsltproc; will automatically detect the included stylesheet
135 By default, output is to <filename class="devicefile">stdout</filename>.
136 You can specify a file for output using
137 the <option>-o</option> or <option>--output</option> option.
141 <refsect1 id="options">
142 <title>OPTIONS</title>
144 &xsltproc; accepts the following options (in alphabetical order):
149 <term><option>--catalogs</option></term>
152 Use the <acronym>SGML</acronym> catalog specified
153 in <envar>SGML_CATALOG_FILES</envar> to resolve the location of
154 external entities. By default, &xsltproc; looks for the catalog
155 specified in <envar>XML_CATALOG_FILES</envar>. If that is not
156 specified, it uses <filename>/etc/xml/catalog</filename>.
162 <term><option>--debug</option></term>
165 Output an <acronym>XML</acronym> tree of the transformed document
166 for debugging purposes.
172 <term><option>--dumpextensions</option></term>
175 Dumps the list of all registered extensions
176 on <filename class="devicefile">stdout</filename>.
182 <term><option>--html</option></term>
184 <para>The input document is an <acronym>HTML</acronym> file.</para>
189 <term><option>--load-trace</option></term>
192 Display all the documents loaded during the processing
193 to <filename class="devicefile">stderr</filename>.
199 <term><option>--maxdepth <replaceable>VALUE</replaceable></option></term>
202 Adjust the maximum depth of the template stack
203 before <citerefentry>
204 <refentrytitle>libxslt</refentrytitle>
205 <manvolnum>3</manvolnum>
206 </citerefentry> concludes it is in an infinite loop. The default is 3000.
212 <term><option>--nodtdattr</option></term>
215 Do not apply default attributes from the
216 document's <acronym>DTD</acronym>.
222 <term><option>--nomkdir</option></term>
224 <para>Refuses to create directories.</para>
229 <term><option>--nonet</option></term>
232 Do not use the Internet to fetch <acronym>DTD</acronym>s, entities
239 <term><option>--noout</option></term>
241 <para>Do not output the result.</para>
246 <term><option>--novalid</option></term>
248 <para>Skip loading the document's <acronym>DTD</acronym>.</para>
253 <term><option>--nowrite</option></term>
255 <para>Refuses to write to any file or resource.</para>
261 <option>-o</option> or <option>--output</option>
262 <replaceable>FILE</replaceable> | <replaceable>DIRECTORY</replaceable>
266 Direct output to the given <replaceable>FILE</replaceable>. Using
267 the option with a <replaceable>DIRECTORY</replaceable> directs the
268 output files to the specified directory. This can be
269 useful for multiple outputs (also known as "chunking") or manpage
274 The given directory <emphasis role="bold">must</emphasis> already exist.
279 Make sure that <replaceable>FILE</replaceable>
280 and <replaceable>DIRECTORY</replaceable> follow the <quote>URI reference
281 computation</quote> as described in RFC 2396 and laters. This means, that
282 e.g. <option>-o directory</option> will maybe not work,
283 but <option>-o directory/</option> will.
291 <option>--encoding <replaceable>ENCODING</replaceable></option>
295 Allow to specify the encoding for the input.
301 <option>--param <replaceable>PARAMNAME</replaceable> <replaceable>PARAMVALUE</replaceable></option>
305 Pass a parameter of name <replaceable>PARAMNAME</replaceable> and value
306 <replaceable>PARAMVALUE</replaceable> to the stylesheet. You may pass
307 multiple name/value pairs up to a maximum of 32. If the value being passed
308 is a string, you can use <option>--stringparam</option> instead, to avoid
309 additional quote characters that appear in string expressions. Note:
310 the XPath expression must be UTF-8 encoded.
316 <term><option>--path "<replaceable>PATH(S)</replaceable>"</option></term>
319 Use the (space- or colon-separated) list of filesystem paths specified
320 by <replaceable>PATHS</replaceable> to load <acronym>DTD</acronym>s,
321 entities or documents. Enclose space-separated lists by quotation marks.
327 <term><option>--profile</option> or <option>--norman</option></term>
330 Output profiling information detailing the amount of time spent in
331 each part of the stylesheet. This is useful in optimizing stylesheet
338 <term><option>--repeat</option></term>
340 <para>Run the transformation 20 times. Used for timing tests.</para>
346 <option>--stringparam <replaceable>PARAMNAME</replaceable> <replaceable>PARAMVALUE</replaceable></option>
350 Pass a parameter of name <replaceable>PARAMNAME</replaceable> and
351 value <replaceable>PARAMVALUE</replaceable>
352 where <replaceable>PARAMVALUE</replaceable> is a string rather than a
353 node identifier. <emphasis role="bold">Note:</emphasis> The string
354 must be UTF-8 encoded.
360 <term><option>--timing</option></term>
363 Display the time used for parsing the stylesheet, parsing the document
364 and applying the stylesheet and saving the result. Displayed in
371 <term><option>-v</option> or <option>--verbose</option></term>
374 Output each step taken by &xsltproc; in processing the stylesheet
381 <term><option>-V</option> or <option>--version</option></term>
384 Show the version of <citerefentry>
385 <refentrytitle>libxml</refentrytitle>
386 <manvolnum>3</manvolnum>
387 </citerefentry> and <citerefentry>
388 <refentrytitle>libxslt</refentrytitle>
389 <manvolnum>3</manvolnum>
390 </citerefentry> used.
396 <term><option>--writesubtree <replaceable>PATH</replaceable></option></term>
399 Allow file write only within the <replaceable>PATH</replaceable>
406 <term><option>--xinclude</option></term>
409 Process the input document using the XInclude specification. More
410 details on this can be found in the XInclude
411 specification: <ulink url="http://www.w3.org/TR/xinclude/"/>
419 <refsect1 id="environment">
420 <title>ENVIRONMENT</title>
424 <term><envar>SGML_CATALOG_FILES</envar></term>
426 <para><acronym>SGML</acronym> catalog behavior can be changed by redirecting
427 queries to the user's own set of catalogs. This can be done by setting
428 the <envar>SGML_CATALOG_FILES</envar> environment variable to a list
429 of catalogs. An empty one should deactivate loading the
430 default <filename>/etc/sgml/catalog</filename> catalog.
436 <term><envar>XML_CATALOG_FILES</envar></term>
438 <para><acronym>XML</acronym> catalog behavior can be changed by redirecting
439 queries to the user's own set of catalogs. This can be done by setting
440 the <envar>XML_CATALOG_FILES</envar> environment variable to a list
441 of catalogs. An empty one should deactivate loading the
442 default <filename>/etc/xml/catalog</filename> catalog.
450 <refsect1 id="diagnostics">
451 <title>DIAGNOSTICS</title>
453 &xsltproc; return codes provide information that can be used when
454 calling it from scripts.
459 <term><errorcode>0</errorcode></term>
461 <para>No error (normal operation)</para>
466 <term><errorcode>1</errorcode></term>
468 <para>No argument</para>
473 <term><errorcode>2</errorcode></term>
475 <para>Too many parameters</para>
480 <term><errorcode>3</errorcode></term>
482 <para>Unknown option</para>
487 <term><errorcode>4</errorcode></term>
489 <para>Failed to parse the stylesheet</para>
494 <term><errorcode>5</errorcode></term>
496 <para>Error in the stylesheet</para>
501 <term><errorcode>6</errorcode></term>
503 <para>Error in one of the documents</para>
508 <term><errorcode>7</errorcode></term>
510 <para>Unsupported xsl:output method</para>
515 <term><errorcode>8</errorcode></term>
517 <para>String parameter contains both quote and double-quotes</para>
522 <term><errorcode>9</errorcode></term>
524 <para>Internal processing error</para>
529 <term><errorcode>10</errorcode></term>
531 <para>Processing was stopped by a terminating message</para>
536 <term><errorcode>11</errorcode></term>
538 <para>Could not write the result to the output file</para>
545 <refsect1 id="seealso">
546 <title>SEE ALSO</title>
548 <refentrytitle>libxml</refentrytitle>
549 <manvolnum>3</manvolnum>
550 </citerefentry>, <citerefentry>
551 <refentrytitle>libxslt</refentrytitle>
552 <manvolnum>3</manvolnum>
556 More information can be found at
560 <refentrytitle>libxml</refentrytitle>
561 <manvolnum>3</manvolnum>
562 </citerefentry> web page <ulink url="http://www.xmlsoft.org/"/>
566 <para>W3C <acronym>XSLT</acronym> page <ulink url="http://www.w3.org/TR/xslt"/>