This is the mail archive of the
docbook-apps@lists.oasis-open.org
mailing list .
synopfragmentref problem in DocBook XSL
- From: Dennis Grace <dgrace at us dot ibm dot com>
- To: Docbook Apps <docbook-apps at lists dot oasis-open dot org>
- Date: Fri, 31 May 2002 10:24:03 -0500
- Subject: DOCBOOK-APPS: synopfragmentref problem in DocBook XSL
I was working with Martijn van Beers' latest version of db2man, which works
beautifully in most respects but does not yet handle the synopfragment
function well. I had hoped to build a customization layer that would fix
the db2man problems and thought to use the HTML XSL sheets as a model.
That's when I found that the XSL for synopfragmentref appears to be a tiny
bit broken.
The HTML output I got from an SGML version of a synopsis containing
synopfragments looks like this (as expected):
Synopsis
evlview [(1)source (defaults to /var/evlog/event_log)] [(2)destination
(defaults to stdout)] [ -f | --filter filter ] | -help
(1) [ -n | --new ] [ -T | --timeout nsec ] | [ -l | --log srclogfile ]
[
-t | --tail nrec ] [ -r | --reverse ]
(2) [-o | --output destlogfile] | [-S | --formatstr format-string] |
[-F
| --formatfile format-file] | [ -c | --compact ] [ -s | --separator sep
]
When I process this as XML (using 1.49, 1.50, or 1.50.1-EXP2 XSL and
processing via xsltproc), I get this:
Synopsis
evlview [(1)] [(2)] [ -f | --filter filter] | -help
(1) [ -n | --new ] [ -T | --timeout nsec] | [ -l | --log srclogfile] [
-t
| --tail nrec] [ -r | --reverse ]
(2) [-o | --output] destlogfile | [-S | --formatstr ]format-string |
[-F |
--formatfile ]format-file | [ -c | --compact ] [ -s | --separator sep]
The former case is in accordance with the Definitive Guide. The write-up
in both cases looks like this:
<cmdsynopsis>
<command>evlview</command>
<group choice="plain"><arg><group>
<synopfragmentref linkend="source">source (defaults to
/var/evlog/event_log)</synopfragmentref>
</group>
<group>
<synopfragmentref linkend="destination">destination (defaults to
stdout)</synopfragmentref>
</group>
<arg choice="opt"><group choice="plain"><arg choice="plain">-f</arg><arg
choice="plain">--filter </arg></group>
<replaceable>filter</replaceable></arg></arg><arg choice="plain">
-help</arg></group>
<synopfragment id="source">
<group choice="plain"><arg choice="plain"><arg choice="opt"><group choice
="plain"><arg choice="plain">-n</arg><arg choice="plain">
--new</arg></group></arg><arg choice="opt"><group choice="plain"><arg
choice="plain">-T</arg><arg choice="plain">--timeout </arg></group>
<replaceable>nsec</replaceable></arg></arg><arg choice="plain"><arg choice
="opt"><group choice="plain"><arg choice="plain">-l</arg><arg choice
="plain">--log </arg></group>
<replaceable>srclogfile</replaceable></arg><arg choice="opt"><group choice
="plain"><arg choice="plain">-t</arg><arg choice="plain">--tail
</arg></group> <replaceable>nrec</replaceable></arg><arg choice
="opt"><group choice="plain"><arg choice="plain">-r</arg><arg choice
="plain">--reverse </arg></group></arg></arg></group>
</synopfragment>
<synopfragment id="destination">
<group choice="plain"><arg choice="opt">
<group choice="opt"><arg choice="plain">-o</arg><arg choice="plain">
--output</arg></group> <replaceable>destlogfile</replaceable></arg><arg
choice="opt"><group choice="opt"><arg choice="plain">-S</arg><arg choice
="plain">--formatstr
</arg></group><replaceable>format-string</replaceable></arg><arg choice
="opt"><group choice="opt"><arg choice="plain">-F</arg><arg choice
="plain">--formatfile
</arg></group><replaceable>format-file</replaceable></arg><arg choice
="plain"><arg choice="opt"><group choice="plain"><arg choice="plain">
-c</arg><arg choice="plain">--compact</arg></group></arg><arg choice
="opt"><group choice="plain"><arg choice="plain">-s</arg><arg choice
="plain">--separator
</arg></group><replaceable>sep</replaceable></arg></arg></group>
</synopfragment>
</cmdsynopsis>
Because the SGML works as expected while the XML does not, my impression
is that this is a bug in the XSL.
Dennis Grace
Information Developer
IBM Linux Technology Center
(512) 838-3937 T/L 678-3937 cell: (512)-296-7830
dgrace@us.ibm.com
FIAT LUX
STOP
EPISTLE FOLLOWS