db2x_xsltproc
db2x_xsltproc
— XSLT processor invocation wrapper
db2x_xsltproc [options] {xml-document}
db2x_xsltproc
invokes the XSLT 1.0 processor for docbook2X.
This command applies the XSLT stylesheet
(usually given by the --stylesheet
option)
to the XML document in the file xml-document.
The result is written to standard output (unless changed with
--output
).
--version
--output
file-o
file--xinclude
-I
--sgml
-S
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
catalog-filesThese 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 SGML document.
--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--param
name=
expr-p
name=
expr--string-param
to avoid this.)
--string-param
name=
string-g
name=
stringThe string must be encoded in UTF-8 (regardless of the locale character encoding).
--debug
-d
--nesting-limit
n-D
n--profile
-P
--xslt-processor
processor-X
processorThe 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.
--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.
XSL Transformations (XSLT), version 1.0, a W3C Recommendation.
In its earlier versions (< 0.8.4),
docbook2X required XSLT extensions to run, and
db2x_xsltproc
was a special libxslt-based processor that had these
extensions compiled-in. When the requirement for XSLT extensions
was dropped, db2x_xsltproc
became a Perl script which translates
the options to db2x_xsltproc
to conform to the format accepted by
the stock
xsltproc(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!)
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 stylesheets.