docbook: Re: Various lists used in DocBook

Previous by date: 23 Jul 2003 15:47:49 -0000 Re: xml / xsl to pdf or ps or tex, David Horton
Next by date: 23 Jul 2003 15:47:49 -0000 Re: xml / xsl to pdf or ps or tex, Dennis Grace
Previous in thread:
Next in thread:

Subject: Re: Various lists used in DocBook
From: Charles Curley ####@####.####
Date: 23 Jul 2003 15:47:49 -0000
Message-Id: <>

On Tue, Jul 22, 2003 at 07:25:15PM +0200, Kian Spongsveen wrote:
> I am gradually picking up speed writing my HowTo. Now I have a list that I 
> need some suggestions on. I'm using DocBook XML. Hope that's not too 
> off-topic here, let me know where to post if I'm wrong.

This discussion should probably be on the docbook list rather than the
discuss list, so I'll CC it there as well. If you haven't already
joined it, you may want to do so so that you can get reponses.

> Basically, I want to describe a set of known problems, their
> symptoms, the cause behind and the workaround / kludge to avoid the
> problems. I want these as a list where the actual problem is the
> most important part, but I also want the other sections in a
> systematic order. It will be a list with short paragraphs, but
> several such "problem" points.
> I want it to look something like:
> Problem: Product does not install
> Symptom: Screen is blank
> Cause: The power is off
> Solution: Find the power switch, set it to ON position
> Solution2: Plug the power cord into the wall outlet
> The words Problem, Symptom and Cause will be emphasized bold and
> there will only be one of each of these first 3 items.  Then there
> may be one Solution item, or several.

If you are still specifying bold and other formatting characteristics,
then you are new to SGML/XML. These tools separate formatting from
content. Writers write content, style sheet authors specify
formatting. You as an author have to leave the choice of bold or not,
ital or roman, to the style sheet.

> I tried to use the <itemizedlist>, but that creates bullet points
> and makes each such section more or less become continuous with the
> next.
> I tried to use <variablelist>, but I get some complaints from my
> editor (jEdit with XML plug-in), and sometimes from xsltproc, when I
> use multiple <listitem> and/or <term> tags within each
> <varlistentry> section.
> So, which type of list that is supported by TLDP should I use for
> this?

TLDP supports anything your docbook tools will support.

I suggest a table, three columns, like so:

Problem &	Causes	Solution 1
Symptom			Solution 2
			Solution N

With blank cells in the first two columns where you have multiple

Tables are very sophisticated and very powerful in docbook, much more
so than HTML. You should be able to get what you want.


Charles Curley                  /"\    ASCII Ribbon Campaign
Looking for fine software       \ /    Respect for open standards
and/or writing?                  X     No HTML/RTF in email    / \    No M$ Word docs in email

Key fingerprint = CE5C 6645 A45A 64E4 94C0  809C FFF6 4C48 4ECD DFDB

--> -->
<type 'exceptions.IOError'>
Python 2.5.2: /usr/bin/python
Sat Dec 10 00:05:10 2022

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /opt/ezmlm-browse-0.20/<string> in ()
 /opt/ezmlm-browse-0.20/ in main()
  425         if path is not None:
  426                 main_path(path)
  427         else:
  428                 main_form()
global main_form = <function main_form at 0x853aca4>
 /opt/ezmlm-browse-0.20/ in main_form()
  378         except ImportError:
  379                 die(ctxt, "Invalid command")
  382 def main():
module = <module 'commands.showmsg' from '/opt/ezmlm-browse-0.20/commands/showmsg.pyc'>, = <function do at 0x8542ae4>, global ctxt = {'cmd': 'showmsg', 'threadidx': 0, 'HTTP_X_FORWA...set': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'br,gzip'}
 /opt/ezmlm-browse-0.20/commands/ in do(ctxt={'cmd': 'showmsg', 'threadidx': 0, 'HTTP_X_FORWA...set': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'br,gzip'})
   18         write(html('msg-pager') % ctxt)
   19         write('<hr>')
   20         sub_showmsg(ctxt, ctxt[MSGNUM])
   21         write('<hr>')
   22         write(html('msg-pager') % ctxt)
global sub_showmsg = <function sub_showmsg at 0x853a224>, ctxt = {'cmd': 'showmsg', 'threadidx': 0, 'HTTP_X_FORWA...set': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'br,gzip'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/ in sub_showmsg(ctxt={'cmd': 'showmsg', 'threadidx': 0, 'HTTP_X_FORWA...set': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'br,gzip'}, msgnum=496)
  229         format_timestamp(ctxt, ctxt)
  230         write(html('msg-header') % ctxt)
  231         rec_showpart(ctxt, msg, 0)
  232         write(html('msg-footer') % ctxt)
  233         ctxt.pop()
global rec_showpart = <function rec_showpart at 0x853a1ec>, ctxt = {'cmd': 'showmsg', 'threadidx': 0, 'HTTP_X_FORWA...set': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'br,gzip'}, msg = <email.message.Message instance at 0x8597cac>
 /opt/ezmlm-browse-0.20/ in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 0, 'HTTP_X_FORWA...set': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'br,gzip'}, part=<email.message.Message instance at 0x8597cac>, partnum=1)
  205                 else:
  206                         for p in part.get_payload():
  207                                 partnum = rec_showpart(ctxt, p, partnum+1)
  208         else:
  209                 write(html('msg-sep') % ctxt)
partnum = 1, global rec_showpart = <function rec_showpart at 0x853a1ec>, ctxt = {'cmd': 'showmsg', 'threadidx': 0, 'HTTP_X_FORWA...set': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'br,gzip'}, p = <email.message.Message instance at 0x8597f4c>
 /opt/ezmlm-browse-0.20/ in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 0, 'HTTP_X_FORWA...set': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'br,gzip'}, part=<email.message.Message instance at 0x8597f4c>, partnum=2)
  208         else:
  209                 write(html('msg-sep') % ctxt)
  210                 sub_showpart(ctxt, part)
  211         return partnum
global sub_showpart = <function sub_showpart at 0x853a17c>, ctxt = {'cmd': 'showmsg', 'threadidx': 0, 'HTTP_X_FORWA...set': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'br,gzip'}, part = <email.message.Message instance at 0x8597f4c>
 /opt/ezmlm-browse-0.20/ in sub_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 0, 'HTTP_X_FORWA...set': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'br,gzip'}, part=<email.message.Message instance at 0x8597f4c>)
  164         type = ctxt[TYPE] = part.get_content_type()
  165         ctxt[FILENAME] = part.get_filename()
  166         template = html('msg-' + type.replace('/', '-'))
  167         if not template:
  168                 template = html('msg-' + type[:type.find('/')])
global template = <function template at 0x8532ed4>, global html = <function html at 0x8532f0c>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x859d1a8>
 /opt/ezmlm-browse-0.20/ in html(name='msg-application-pgp-signature')
   41 def html(name):
   42         return template(name + '.html')
   44 def xml(name):
global template = <function template at 0x8532ed4>, name = 'msg-application-pgp-signature'
 /opt/ezmlm-browse-0.20/ in template(filename='msg-application-pgp-signature.html')
   31         except IOError:
   32                 if not _template_zipfile:
   33                         _template_zipfile = zipfile.ZipFile(sys.argv[0])
   34                 try:
   35                         f =
global _template_zipfile = None, global zipfile = <module 'zipfile' from '/usr/lib/python2.5/zipfile.pyc'>, zipfile.ZipFile = <class zipfile.ZipFile at 0x84c8aac>, global sys = <module 'sys' (built-in)>, sys.argv = ['-c', '/opt/ezmlm-browse-0.20']
 /usr/lib/python2.5/ in __init__(self=<zipfile.ZipFile instance at 0x8597fac>, file='-c', mode='r', compression=0, allowZip64=False)
  337             self.filename = file
  338             modeDict = {'r' : 'rb', 'w': 'wb', 'a' : 'r+b'}
  339             self.fp = open(file, modeDict[mode])
  340         else:
  341             self._filePassed = 1
self = <zipfile.ZipFile instance at 0x8597fac>, self.fp = None, builtin open = <built-in function open>, file = '-c', modeDict = {'a': 'r+b', 'r': 'rb', 'w': 'wb'}, mode = 'r'

<type 'exceptions.IOError'>: [Errno 2] No such file or directory: '-c'
      args = (2, 'No such file or directory')
      errno = 2
      filename = '-c'
      message = ''
      strerror = 'No such file or directory'