|
Subject: Re: [xsl] line numbering From: James Cummings <James.Cummings@xxxxxxxxxxxxxx> Date: Thu, 5 Aug 2004 14:39:41 +0100 (BST) |
On Thu, 5 Aug 2004, David Carlisle wrote:
> <xsl:variable name="linenumber" select="count(preceding-sibling::l)+1"/>
> <span class="line" id="line{$linenumber}"><xsl:apply-templates /></span>
>
>
> doesn't that want to be
>
> <xsl:variable name="linenumber"
> select="count(../preceding-sibling::lg/l)+count(preceding-sibling::l)+1"/>
>
> (or you could use xsl:number level=any from=div )
>
> <xsl:choose>
> <xsl:when test="$linenumber mod 5 = 1">
> <span class="line" id="line{$linenumber}">...
> </xsl:when>
> <xsl:otherwise>
> <span class="line">....
Yup that seems to be what I've come up with a few minutes
after posting (*doh*) What I've done is:
--------------
<xsl:template match="l">
<xsl:variable name="poemnumber"><xsl:number level="any" count="div[@type='poem']"/></xsl:variable>
<xsl:variable name="linenumber"><xsl:number level="any" from="div[@type='poem']"/></xsl:variable>
<span class="line" id="poem{$poemnumber}line{$linenumber}">
<xsl:apply-templates />
<xsl:if test="$linenumber mod 5 = 0">
<span class="linenumber"><xsl:value-of select="$linenumber"/></span>
</xsl:if>
</span>
</xsl:template>
-------------
Does that seem reasonable?
It appears to give me the required results at least.
Many thanks David, as always,
-James
---
Dr James Cummings, Oxford Text Archive, University of Oxford
James dot Cummings at oucs dot ox dot ac dot uk
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] line numbering, David Carlisle | Thread | Re: [xsl] line numbering, David Carlisle |
| Re: [xsl] line numbering, David Carlisle | Date | [xsl] GUI to Generate Basic XSLT Do, Wright, Warren |
| Month |