xsl-list
[Top] [All Lists]

Re: line numbering

2004-08-05 06:39:41
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[(_at_)type='poem']"/></xsl:variable>
<xsl:variable name="linenumber"><xsl:number level="any" 
from="div[(_at_)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 


<Prev in Thread] Current Thread [Next in Thread>