db2x_xsltproc - XSLT processor invocation wrapper
invokes the XSLT 1.0 processor for docbook2X.
This command applies the XSLT stylesheet (usually given by the
option) to the XML document in the file
. The result is written to standard output (unless changed
To read the source XML document from standard input, specify - as the input
- Display the docbook2X version.
- --output file, -o file
- Write output to the given file (or URI), instead of
- --xinclude, -I
- Process XInclude directives in the source document.
- --sgml, -S
- Indicate that the input document is SGML instead of XML.
You need this set this option if xml-document is actually a SGML
SGML parsing is implemented by conversion to XML via sgml2xml(1) from
the SP package (or osx(1) from the OpenSP package). All tag names
in the SGML file will be normalized to lowercase (i.e. the -xlower
option of sgml2xml(1) is used). ID attributes are available for the
stylesheet (i.e. option -xid). In addition, any ISO SDATA entities
used in the SGML document are automatically converted to their XML Unicode
equivalents. (This is done by a sed filter.)
The encoding of the SGML document, if it is not us-ascii, must be specified
with the standard SP environment variables: SP_CHARSET_FIXED=1
SP_ENCODING= encoding. (Note that XML files specify
their encoding with the XML declaration <?xml
version="1.0" encoding=" encoding"
?> at the top of the file.)
The above conversion options cannot be changed. If you desire different
conversion options, you should invoke sgml2xml(1) manually, and
then pass the results of that conversion to this program.
- --catalogs catalog-files, -C
- Specify additional XML catalogs to use for resolving Formal
Public Identifiers or URIs. SGML catalogs are not supported.
These catalogs are not used for parsing an SGML document under the
--sgml option. Use the environment variable
SGML_CATALOG_FILES instead to specify the catalogs for parsing the
- --network, -N
- db2x_xsltproc will normally refuse to load external
resources from the network, for security reasons. If you do want to load
from the network, set this option.
Usually you want to have installed locally the relevent DTDs and other
files, and set up catalogs for them, rather than load them automatically
from the network.
- --stylesheet file, -s file
- Specify the filename (or URI) of the stylesheet to use. The
special values man and texi are accepted as abbreviations, to specify that
xml-document is in DocBook and should be converted to man pages or
- --param name=expr, -p
- Add or modify a parameter to the stylesheet. name is
a XSLT parameter name, and expr is an XPath expression that
evaluates to the desired value for the parameter. (This means that strings
must be quoted, in addition to the usual quoting of shell
arguments; use --string-param to avoid this.)
- --string-param name=string,
- Add or modify a string-valued parameter to the stylesheet.
The string must be encoded in UTF-8 (regardless of the locale character
- --debug, -d
- Display, to standard error, logs of what is happening
during the XSL transformation.
- --nesting-limit n, -D n
- Change the maximum number of nested calls to XSL templates,
used to detect potential infinite loops. If not specified, the limit is
500 (libxslt’s default).
- --profile, -P
- Display profile information: the total number of calls to
each template in the stylesheet and the time taken for each. This
information is output to standard error.
- --xslt-processor processor, -X
- Select the underlying XSLT processor used. The possible
choices for processor are: libxslt, saxon, xalan-j.
The default processor is whatever was set when docbook2X was built. libxslt
is recommended (because it is lean and fast), but SAXON is much more
robust and would be more helpful when debugging stylesheets.
All the processors have XML catalogs support enabled. (docbook2X requires
it.) But note that not all the options above work with processors other
than the libxslt one.
- Specify XML Catalogs. If not specified, the standard
catalog ( /etc/xml/catalog) is loaded, if available.
- Specify the XSLT processor to use. The effect is the same
as the --xslt-processor option. The primary use of this variable is
to allow you to quickly test different XSLT processors without having to
add --xslt-processor to every script or make file in your
documentation build system.
XML Stylesheet Language – Transformations (XSLT), version 1.0
⟨http://www.w3.org/TR/xslt⟩ , a W3C Recommendation.
In its earlier versions (< 0.8.4), docbook2X required XSLT extensions to run,
was a special libxslt-based processor that had these
extensions compiled-in. When the requirement for XSLT extensions was dropped,
became a Perl script which translates the options to
to conform to the format accepted by the stock
(1) which comes with libxslt.
The prime reason for the existence of this script is backward compatibility with
any scripts or make files that invoke docbook2X. However, it also became easy
to add in support for invoking other XSLT processors with a unified
command-line interface. Indeed, there is nothing special in this script to
docbook2X, or even to DocBook, and it may be used for running other sorts of
stylesheets if you desire. Certainly the author prefers using this command,
because its invocation format is sane and is easy to use. (e.g. no typing long
class names for the Java-based processors!)
Steve Cheng <email@example.com>.
The docbook2X manual (in Texinfo or HTML format) fully describes how to convert
DocBook to man pages and Texinfo.
Up-to-date information about this program can be found at the docbook2X Web site
You may wish to consult the documentation that comes with libxslt, SAXON, or
Xalan. The W3C XSLT 1.0 specification would be useful for writing