This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: My ordered lists have extra space between lines.


On Thu, Mar 21, 2002 at 12:04:22PM -0500, Stephen Bannasch wrote:
> My ordered lists have extra space between lines.
> 
> The problem below happens in both html and in fo->fop->pdf.
> 
> using docbook-xsl-1.50.0 (and older versions)
> 
> <orderedlist numeration="arabic" spacing="compact">
>   <listitem><para>item 1</para></listitem>
>   <listitem><para>item 2</para></listitem>
>   <listitem><para>item 3</para></listitem>
> </orderedlist>
> 
> produces html like this:
> 
>       <div class="orderedlist">
>         <ol type="1" compact="">
>           <li>
>             <p>item 1</p>
>           </li>
>           <li>
>             <p>item 2</p>
>           </li>
>           <li>
>             <p>item 3</p>
>           </li>
>         </ol>
>       </div>
> 
> Which produces output like this:
> 
>   1. item 1
> 
>   2. item 2
> 
>   3. item 3
> 
> There are two problems.  The obvious one is the <p>
> wrapped around the list content produces an extra blank
> line between list items.  The result is the same with the
> orderedlist spacing set to normal.
> 
> The content in the docbook listitem needs to be wrapped
> in something since the listitem can't be PCDATA.  Is there
> something else I can wrap my docbook items in that won't
> produce the extra spacing produced with <para>?
> 
> Also according to the html4.0 spec the attribute compact
> should be rendered as either: [compact] or
> [compact="compact"].  However they warn that many browsers
> only interpret the simpler form.

For HTML output,
I've never found the 'compact' list option to be
reliably supported in the browsers.

I have some clues, but not a complete answer.
The problem is actually with the closing </p> at
the end of each list item.  If you remove that, the
space disappears.  Apparently the browsers figure
if you have a closing </p> then you intended space.
But that's not an option using the XSL stylesheets.

A margin style seems to work as well, by assigning a
class="compact" to those paras inside such lists:

<html>
<head>
<style type="text/css">
  p.compact {margin-bottom: 0;}
</style>
</head>
...
      <div class="orderedlist">
        <ol type="1" compact="">
          <li>
            <p class="compact">item 1</p>
          </li>
          <li>
            <p class="compact">item 2</p>
          </li>
          <li>
            <p class="compact">item 3</p>
          </li>
        </ol>
      </div>

You'll have to customize the stylesheet to get
that class attribute added to para's inside lists
with spacing="compact".

Bob Stayton                                 400 Encinal Street
Publications Architect                      Santa Cruz, CA  95060
Technical Publications                      voice: (831) 427-7796
Caldera International, Inc.                 fax:   (831) 429-1887
                                            email: bobs@caldera.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]