The document-class used to look for the style-sheets, and the
output format, is for now only derived from the name with which
the program is called, so you will want to call this program
through symbolic links like docbook-2-pdf.
sgml2x is a implemented as a shell wrapper
around jade(1) (or, preferably, openjade(1), although
we use the generic name jade throughout this
documentation), jadetex(1) and other tools.
If there is no jadetex.cfg file near the document,
a default one is copied, that enables production of PDF bookmarks.
Use the specified SGML catalog instead of the system
Use (whitespace-separated) list of configuration
directories. This option is cumulative, i.e. you can use
several -C options and the lists will be
The list elements should be ordered from the most
generic configuration (e.g. system-wide) to the most
specific (e.g. project-wide).
If any directory is provided through this option, the
default directory list will be ignored.
Use dsssl-processor to apply the
style-sheet, instead of the default one. This processor has
to support jade-like options, such as
When this option is not present, the first found in
the dssslproc files from confdirs is taken.
See "Files" for more details.
Display an help message and exit.
Obsolete synonym for --dssslproc.
Post-process the jadetex output using a perl filter.
This can be useful to force pagebreaks at some
specific places to overcome stylesheet problems, or to force
hyphenations where TeX does not have enough patterns, or do
any other clever transformation you'd think about.
See the examples/command-lines file for possible uses.
Print commands instead of running them. Useful to
learn about lower-level tools, and for debugging the
This option is obsolete.
openjade is now the default when available. Use
--dssslproc or a dssslproc configuration
file to force a specific processor.
This option used to use openjade(1) as a DSSSL processor instead of jade(1).
Additional options to pass to jade(1).
This option is cumulative, you can specify several of them,
the provided options will be concatenated.
Set verbosity to quiet
Render the content of document remarks in the document
(remark elements in DocBook 4,
comment elements in DocBook 3), making the
produced output an internal-use-only document,
printing a bold warning on the cover.
This is a docclass- and style-sheet-specific feature,
and not all style-sheets will use this.
Select an output style to override the (eventually
Styles currently available for a specific document
class and for each output format are dependent on the
contents of the configuration directories, and can be
displayed with the --help option.
Note that it is good practice to specify this option
in a build procedure, so that you get reproducible results
regardless of the available style-sheets.
Increase verbosity. This option can be specified
Set verbosity to N. The
levels of verbosity are defined as follows:
Only print errors
Only print errors and warnings
Also print notices
Also print significant commands as
they are run (as --no-act does).
Also print debugging messages
Print the program version and exit.
sgml2x uses a configuration directory
tree instead of a configuration file, so that it is easy for other
packages to plug in with a low risk of breaking an existing
Styles hierarchies are located in directories named
styles in each configuration directory. Old versions
of this program used to put those hierarchies directly in the
A configuration directory contains one directory for each
known document class, named with a document class nickname
(e.g. docbook). Those docclass directories contain one
sub-directory for each class of output-format (currently, only
html and print are supported).
Currently, implementation issues enforce a limitation on
nicknames for document classes and style-sheets: they can only
contain alphanumeric and underscore characters. This limitation
may be dropped in a future release, but that's not going to happen
before this script gets rewritten in another language.
Each of those directory contain one file per available
style. The names of these files may only contain alphanumeric
characters, and are used as nicknames for the styles. This file
contains lines with a key: value pattern, with
the following keys being currently supported:
The public identifier for the style-sheet
A short description of the styles, to be displayed in
the help message
rtfOverride, mifOverride" 10
A dsssl symbol from the print style-sheet to be set to
#t (or a
symbol=value pair, suitable
as argument to jade's -V option), to be used for the given print format.
Only one symbol per override line is allowed. To
define values for several symbols, use several lines.
The nickname of a style-sheet this one inherits from,
to avoid needless duplication of style definitions.
Currently, this only causes inheritance of the
An positive integer to help selecting the default
style when one cannot be derived from the document. Higher
values get higher chance of being taken as default. Take
care of using low priorities for hyper-specialized styles
for a generic document-type, so that it does not get used by
For example, the current recommended policy for the
DocBook style-sheets derived from Norman Walsh's is as
follows (and may change if experience proves it to be
The base style-sheets, which usually must be
Any style-sheet that was written for an
hyper-specialized purpose (e.g. marketing product
A default style for all documents produced by an
organization. Usually a light customization,
featuring layout preferences, the organization's logo,
or such things.
Miscellaneous generic customizations of the base
When you write an improved version of a
style-sheet with priority n, you
usually want to select a higher priority.
The default configuration directories, in which the
configuration files are searched for. See documentation for
--confdirs for more details.
The hierarchy that defines usable styles. See "Configuration" for more details.
A file containing an ordered list of dsssl processors
to look for, separated by newlines and/or whitespace. Lines
starting with a # character are treated as
comments. Common values include openjade and
DSSSL processors specified here should accept the
-V and -D jade-compatible command-line
The configuration directories are looked for starting
with the most specific one, so that, with the default
confdirs, the project settings may override user
settings, which in turn may override system settings.
The special value false can be used to
stop the search and prevent looking into more generic
directories. If for example a project must use the
openjade-1.4devel command and no other, it can
specify openjade-1.4devel false in its
When using openjade-1.4devel as DSSSL processor,
you'll see a complaint about the top-level flow-object generated
by doctype.dsl, and automatic determination of the
document-type will fail. This error is otherwise harmless. Ideas
of how to deal with this, or confirmation that
openjade-1.4devel is too strict, will be appreciated
Planned features for future releases include:
Integration of an index generator
Integration of a pretty-printing engine for code
Specification of transformations to be chained
Declaration of subset docclasses to allow the use with
any docclass of the style-sheets that apply to its superset
Work in a temporary location so as not to pollute the
working directory with temporary files. This is not as easy
as it sounds, because it breaks a document refers to image
files using relative paths. That may be seen as a jade bug,
Browse the full TODO list and send us more ideas !