|
Subject: [xsl] line numbering From: James Cummings <James.Cummings@xxxxxxxxxxxxxx> Date: Thu, 5 Aug 2004 14:17:21 +0100 (BST) |
Hi there,
I have some poems marked up something like:
<body>
<div type="poem">
<lg type="stanza">
<l>This is a line of verse</l>
<l>This is a line of verse</l>
<l>This is a line of verse</l>
<l>This is a line of verse</l>
</lg>
<lg type="stanza">
<l>This is a line of verse</l>
<l>This is a line of verse</l>
<l>This is a line of verse</l>
<l>This is a line of verse</l>
</lg>
<p>This is something not counted as a line</p>
<lg type="stanza">
<l>This is a line of verse</l>
<l>This is a line of verse</l>
<l>This is a line of verse</l>
<l>This is a line of verse</l>
</lg>
</div>
<!-- and multiple poem div's like this here... -->
</body>
What I want to end up with is for each line to be
given an @id in the html output like:
<span id="poem3line10">This is a line of verse <span
class="number">10</span></span>
<xsl:template match="l">
<xsl:variable name="linenumber" select="count(preceding-sibling::l)+1"/>
<span class="line" id="line{$linenumber}"><xsl:apply-templates /></span>
</xsl:template>
But now I need to account for two factors:
a) that the linenumbering needs to take account of
the existence of the line-groups (lg) and that it
should only count back within it's own <div> ancestor.
b) that I want to number the lines every 5 lines.
Is position() a better way to do this than counting the
preceding-sibilings?
Any (XSLT1 preferred, but XSLT2 acceptable) suggestions/solutions?
-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] How to add a new font, Emmanouil Batsis | Thread | Re: [xsl] line numbering, David Carlisle |
| RE: [xsl] How to add a new font, Narasingarao Kommire | Date | RE: [xsl] JS not executed AFTER tra, Andrew Welch |
| Month |