Provided by: sgml2x_1.0.0-11.5_all bug

NAME

       sgml2x — Easily formats SGML/XML documents using DSSSL style-sheets

SYNOPSIS

       sgml2x [options]   [sgmlfile  | xmlfile ]

       docclass-2-targetformat [options]   [sgmlfile  | xmlfile ]

Description

       sgml2x  allows  to  easily  format  a  SGML  or XML document using DSSSL style-sheets, and
       provides the following features:

          •  Multiple possible style-sheets per document class

          •  Easy specification  of  style-sheets  using  aliases,  with  support  for  parameter
             inheritance

          •  Easy  integration  of  new  style-sheets by adding a simple new definition file in a
             configuration directory

          •  The caller can specify a PATH-like list of configuration directories, defaulting  to
             a system-wide, a per-user, and a per-project configuration directories

          •  Automatic  selection  of  a  default  style-sheet  to  be  used,  based  on assigned
             priorities

          •  Pass arbitrary options to jade(1)

       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.

Options

       -c|--catalog catalog
                 Use the specified SGML catalog instead of the system default.

       -C|--confdirs dir-list
                 Use  (whitespace-separated)  list  of configuration directories.  This option is
                 cumulative, i.e.  you  can  use  several  -C  options  and  the  lists  will  be
                 concatenated.

       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.

       -D|--dssslproc dsssl-processor
                 Use  dsssl-processor to apply the style-sheet, instead of the default one.  This
                 processor has to support jade-like options, such as -V.

       When this option is not present, the first found in the dssslproc files from  confdirs  is
       taken.  See "Files"  for more details.

       -h|--help Display an help message and exit.

       -j|--jade dsssl-processor
                 Obsolete synonym for --dssslproc.

       --jadetexfilter perl-filter
                 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.

       -n|--no-act
                 Print  commands  instead  of  running  them.   Useful to learn about lower-level
                 tools, and for debugging the command-line.

       -o|--openjade
                 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).

       -O|--jadeopts jade-options
                 Additional  options  to  pass  to  jade(1).   This option is cumulative, you can
                 specify several of them, the provided options will be concatenated.

       -q|--quiet
                 Set verbosity to quiet

       -r|--remarks
                 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.

       -s|--style style
                 Select an output style to override the (eventually document-derived) default.

       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.

       -v|--verbose
                 Increase verbosity.  This option can be specified multiple times.

       --verbosity N
                 Set verbosity to N.  The levels of verbosity are defined as follows:

                 quiet     Only print errors

                 default   Only print errors and warnings

                 verbose   Also print notices

                 trace     Also print significant commands as they are run (as --no-act does).

                 debug     Also print debugging messages

       -V|--version
                 Print the program version and exit.

Configuration

       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 setup.

       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
       configuration directories.

       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:

       Id        The public identifier for the style-sheet

       Desc      A short description of the styles, to be displayed in the help message

       pdfOverride, psOverride,
                 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.

       Inherits  The nickname of  a  style-sheet  this  one  inherits  from,  to  avoid  needless
                 duplication of style definitions.

       Currently, this only causes inheritance of the *Override parameters.

       Priority  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 error.

       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 inadequate).

              10        The base style-sheets, which usually must be customized.

              0         Any  style-sheet  that was written for an hyper-specialized purpose (e.g.
                        marketing product sheet).

              1000      A default style for all documents produced by an organization.  Usually a
                        light  customization,  featuring  layout  preferences, the organization's
                        logo, or such things.

              10-100    Miscellaneous generic customizations of the base style-sheets.

                        When you write an improved version of a style-sheet with priority n,  you
                        usually want to select a higher priority.

Files

       /etc/sgml/sgml2x/

       ~/.sgml2x/

       ./sgml2x/ The  default  configuration  directories,  in  which the configuration files are
                 searched for.  See documentation for --confdirs for more details.

       confdir/style/
                 The hierarchy  that  defines  usable  styles.   See  "Configuration"   for  more
                 details.

       confdir/dssslproc
                 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 jade.

                 DSSSL  processors  specified  here  should  accept the -V and -D jade-compatible
                 command-line options.

                 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 dssslproc file.

Caveats

       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 :)

The future

       Planned features for future releases include:

          •  Integration of an index generator

          •  Integration of a pretty-printing engine for code examples

          •  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 docclasses.

          •  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,
             however.

       Browse the full TODO list and send us more ideas !

Copyright

       Copyright © 2001-2003 Alcove & Yann Dirson.

       sgml2x is licensed under the GNU General Public License, version 2.

       This documentation is licensed under the GNU Free Documentation License, version 1.

Contact us

       sgml2x  is  part   of   the   AlcoveBook   project   (link   to   URL   http://www.alcove-
       labs.org/en/software/alcovebook/)  .  Please use the AlcoveBook mailing lists (link to URL
       https://savannah.gnu.org/mail/?group_id=533)  to get in touch with developers and users.

       The list of bugs and feature requests is available through a Web interface  (link  to  URL
       https://savannah.gnu.org/support/?group_id=533)  .   Please  use it to submit problems and
       ideas.

See also

       openjade(1), jade(1), jadetex(1), collateindex.pl(1).

                                                                                        sgml2x(1)