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: Docbook-XSL funcprototype Problem


Hi All,

I've encountered a problem with <funcprototype/> with the xhtml XSL.   
I noticed in the XHTML output for the following XML:

   <funcsynopsis>
     <funcprototype>
       <funcdef>
         <type>int</type>
         <function>my_function</function>
       </funcdef>
       <paramdef><type>int</type>
         <parameter>param1</parameter></paramdef>
       <paramdef><type>int</type>
         <parameter>param2</parameter></paramdef>
       <paramdef><type>int</type>
         <parameter>param3</parameter></paramdef>
     </funcprototype>
   </funcsynopsis>

That the parameter param1 is repeated.  It first appears in the  
funcdef table row:

   <tr>
     <td>
       <code class="funcdef">int <b class="fsfunc">my_function</b>(</ 
code>
     </td>
     <td>
       <var class="pdparam">param1</var>,
     </td>
     <td></td>
   </tr>

It also appears in its own table row just below:

   <tr>
     <td></td>
     <td>
       <var class="pdparam">param1</var>,
     </td>
     <td></td>
   </tr>

This seems to be because of line 318 in xhtml/synop.xsl  
(funcprototype template, kr-tabular mode), in the <xsl:for-each/>  
selection with preceding-sibling in the predicate.  If I remove  
preceding-sibling, and use position()!=1 as the predicate, it works  
as expected.

   <xsl:for-each select="(void|varargs|paramdef)[position()!=1]">
     ...
   </xsl:for-each>

However, I'm not entirely sure why preceding-sibling was being used  
there, so I'm not sure if this might break other uses of this template.

Can anyone comment?  Thanks!

-Will


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