Hi,
Generally it is a good idea when customizing to see how an element is already handled by the stylesheet, and then modify that behavior. Simply adding a template that matches on an element may not integrate it into the other templates in the stylesheet.

In this case, a tip/title is not handled in normal mode (that is, a template with no mode attribute), but in mode="object.title.markup". That's because title is optional, and so a template with that match will not be triggered for tip without title, and there will be no generated "Tip" label. Instead, the template processing tip does:

 <xsl:apply-templates select="." mode="object.title.markup"/>

This is applied to the current tip element, and that mode handles either the title child element or generates the "Tip:" text in the appropriate language. So your template could be instead:

<xsl:template match="tip" mode="object.title.markup">
 <xsl:text>Tip-</xsl:text>
  <xsl:variable name="tipnr">
   <xsl:number count="tip" level="any"/>
  </xsl:variable>
 <xsl:number value="$tipnr+-1" format="01"/>
</xsl:template>

Not sure why you want to start counting from "00", though.

Bob Stayton
Sagehill Enterprises
[email protected]


----- Original Message ----- From: "Halm Reusser" <[email protected]>
To: <[email protected]>
Sent: Thursday, July 23, 2009 1:56 AM
Subject: [docbook-apps] Auto numbering Tips


Hello,

in my document I use some tips and warnings, like

<tip> <title> Tip- </title>
  <para>
    This the first example Tip.
  </para>
</tip>


<tip> <title> Tip- </title>
  <para>
    This the second example Tip.
  </para>
</tip>

same for warnings...


My aim is to get the Tips and Warnings auto numbered. What means after
compilation, the title should be set like Tip-01, Tip-02 etc.

For that, I wrote a small template:

<xsl:template match="tip/title">
 <xsl:text>Tip-</xsl:text>
  <xsl:variable name="tipnr">
   <xsl:number count="tip" level="any"/>
  </xsl:variable>
 <xsl:number value="$tipnr+-1" format="01"/>
</xsl:template>

It counts up, but it do not sets the title, it sets the firstline of the
paragraph text. What am I doing wrong?

Thanks in advance!

The second step, that would be perfekt, if <tip> would be rewritten to <tip xml:id="tip-01">. Do you know how to do it?

-Halm


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]





---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to