OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] Possible formalpara bug


Hi,
I think this is a bug in the code that is triggered by the stylesheet param 
'html.cleanup' = 1 (the default value).  That code tries to resolve situations where a 
<p> would be contained inside a <p> in the output, due  to the structure of the XML 
input, creating invalid HTML. There exist a bunch of templates in html/html-rtf.xsl in 
mode="unwrap.p" that are executed recursively to try to "unwrap" such nested <p> 
elements into sequential <p> elements.  Such unwrapping is always kind of tricky.  In 
this case, it gets it wrong, but the code is not very well documented so I cannot 
easily tell where it is going wrong.

The formalpara element in general tries to create a run-in heading in a para, so it 
already is messing with the <para> element in the input to mix the <title> text with 
the <para> in a single <p> output.  Maybe that is not accounted for in 
mode="unwrap.p".

I do know that:

a.  The extra <p> element is empty, and does not display in the HTML output.

b.  If you set html.cleanup=0, the problem goes away.  However, I'm not sure what 
other problems that setting might introduce.

c.  Since the stylesheet cannot output a run-in heading on a list, you could change 
your input to put the title on itemizedlist as follows:

   <?xml version="1.0"?>
   <!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V5.1b2//EN"
   "http://www.oasis-open.org/docbook/xml/5.1b2/dtd/docbook.dtd";>
   <appendix
      version     = "5.1"
      xml:lang    = "en"
      xmlns       = "http://docbook.org/ns/docbook";>
     <!-- <title role="hide">Hidden Title</title> -->
         <itemizedlist>
           <title>This is the title of a formalpara.</title>
           <listitem><para>List item 1.</para></listitem>
           <listitem><para>List item 2.</para></listitem>
         </itemizedlist>
   </appendix>

In this case, this markup is a better match to what you are trying to do than 
formalpara.

Bob Stayton
Sagehill Enterprises
bobs@sagehill.net


----- Original Message ----- 
From: "William R. Greene" <wrg@acm.org>
To: <docbook-apps@lists.oasis-open.org>
Sent: Friday, July 01, 2011 8:42 PM
Subject: [docbook-apps] Possible formalpara bug


I am using DocBook 5.1b2 with the DocBook XSL-NS Stylesheets 1.76.1.  I have noticed 
that translating a <formalpara> with a <title> results in two <p>s in the generated 
XHTML 1.1.  Here is the DocBook source (try.docbook):

   <?xml version="1.0"?>
   <!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V5.1b2//EN"
   "http://www.oasis-open.org/docbook/xml/5.1b2/dtd/docbook.dtd";>
   <appendix
      version     = "5.1"
      xml:lang    = "en"
      xmlns       = "http://docbook.org/ns/docbook";>
     <!-- <title role="hide">Hidden Title</title> -->
     <formalpara>
       <title>This is the title of a formalpara.</title>
       <para>
         <itemizedlist>
           <listitem><para>List item 1.</para></listitem>
           <listitem><para>List item 2.</para></listitem>
         </itemizedlist>
       </para>
     </formalpara>
   </appendix>

I translate the DocBook source thus:

   xsltproc vendor/docbook-xsl-ns/xhtml-1_1/docbook.xsl try.docbook

The generated XHTML (prettied-up) is this:

   <?xml version="1.0" encoding="utf-8"?>
   <html xmlns="http://www.w3.org/1999/xhtml";>
     <head>
       <title>Appendix A. </title>
       <meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/>
     </head>
     <body>
       <div xml:lang="en" class="appendix" title="Appendix A. ">
         <div class="titlepage"/>
         <p title="This is the title of a formalpara.">
           <strong>This is the title of a formalpara. </strong>
         </p>
         <div class="itemizedlist">
           <ul class="itemizedlist">
             <li class="listitem"><p>List item 1.</p></li>
             <li class="listitem"><p>List item 2.</p></li>
           </ul>
         </div>
         <p title="This is the title of a formalpara."/>
       </div>
     </body>
   </html>

Why is '<p title="This is the title of a formalpara."' generated twice?  Is this a bug 
in the 1.76.1 stylesheets?

   -- Bill Greene




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]