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

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook message

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


Subject: Re: [docbook] Auto numbering lists


Hi,
I think you would be better off customizing just the template for term 
rather than the whole list.  This is a copy of the template from 
fo/lists.xsl, modified (untested) to include your counting code:

<xsl:template match="varlistentry/term">
  <fo:inline>
    <xsl:call-template name="simple.xlink">
      <xsl:with-param name="content">
        <!-- Change this part -->
        <xsl:choose>
          <xsl:when test="parent::varlistentry/@role = 'REC'">
<!-- insert your text here -->
>    <xsl:text>MYREC-</xsl:text>
>    <xsl:variable name="rec-number">
>      <xsl:number count="varlistentry[@role = 'REC']" level="any"/>
>    </xsl:variable>
>    <xsl:number value="$rec-number" format="01"/>
          </xsl:when>
          <xsl:when test="parent::varlistentry/@role = 'REQ'">
<!-- something similar here -->
          </xsl:when>
          <xsl:otherwise>
            <xsl:apply-templates/>
          </xsl:otherwise>
      </xsl:with-param>
    </xsl:call-template>
  </fo:inline>
  <xsl:choose>
    <xsl:when test="not(following-sibling::term)"/> <!-- do nothing -->
    <xsl:otherwise>
      <!-- * if we have multiple terms in the same varlistentry, 
generate -->
      <!-- * a separator (", " by default) and/or an additional line -->
      <!-- * break after each one except the last -->
      <fo:inline><xsl:value-of 
select="$variablelist.term.separator"/></fo:inline>
      <xsl:if test="not($variablelist.term.break.after = '0')">
        <fo:block/>
      </xsl:if>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>


Bob Stayton
Sagehill Enterprises
bobs@sagehill.net


----- Original Message ----- 
From: "Halm Reusser" <halm.reusser@switch.ch>
To: "Bob Stayton" <bobs@sagehill.net>
Cc: <docbook@lists.oasis-open.org>
Sent: Thursday, October 30, 2008 8:35 AM
Subject: Re: [docbook] Auto numbering lists


> Hi Bob,
>
>
> first thanks a lot for your time and your explanations.
>
> I think, may be it can really easy be done by something like that.
>
>
> dockbook snippet:
>
> <para>
> Some general text...
>
>    <variablelist>
>
>      <varlistentry role="REC">
>        <term>REC-XX</term>
>        <listitem>
>          <para>
>            Bla bla
>          </para>
>        </listitem>
>      </varlistentry>
>
>      <varlistentry role="REC">
>        <term>REC-XX</term>
>        <listitem>
>          <para>
>            Bla bla bla
>          </para>
>        </listitem>
>      </varlistentry>
>
>      <varlistentry role="REQ">
>        <term>REQ-XX</term>
>        <listitem>
>          <para>
>            Bla bla bla
>          </para>
>        </listitem>
>      </varlistentry>
>
>    </variablelist>
>
> </para>
>
>
> And then use an general (not output specific template) similar to:
>
> <xsl:template match="varlistentry[@role = 'REC']" 
> mode="object.term.markup">
>  <fo:block xsl:use-attribute-sets="special.varlistentry.term.attributes">
>    <xsl:text>MYREC-</xsl:text>
>    <xsl:variable name="rec-number">
>      <xsl:number count="varlistentry[@role = 'REC']" level="any"/>
>    </xsl:variable>
>    <xsl:number value="$rec-number" format="01"/>
>  </fo:block>
> </xsl:template>
>
> same for REQs.
>
>
> What is your opinion? Can this work? My template is wrong, do have an hint
> or a resource where I can find more informations.
>
>
> Thanks a lot in advance,
> Halm
>
>
>
> Bob Stayton wrote:
>> Hi,
>> Yes, this can work in a similar fashion for HTML output, as it uses
>> mode="object.title.markup" too.
>>
>> Regarding learning XSLT, I use Michael Kay's XSLT Programmer's Reference
>> (2nd edition, not 3rd edition which covers XSLT 2.0).  I'm sure there
>> must be online XSLT manuals as well, but I've not used them.
>>
>> The reference to mode="title.markup" is to a feature of the DocBook XSL
>> stylesheets that generates just the title for an element, as explained a
>> bit more in my book:
>>
>> http://www.sagehill.net/docbookxsl/ReplaceTemplate.html#UtilityTemplates
>>
>> It wasn't clear from your example if these REC and REQ items had titles,
>> so I said you could use this if you need to display the title.
>>
>> Bob Stayton
>> Sagehill Enterprises
>> bobs@sagehill.net
>
> 



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