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