You have to define the "scribe[1]/modified" and the "data" templates outside
of the "/bamiyan" template, and replace the whole template definitions you
now put inside the "/bamiyan" template with a simple:
<xsl:apply-templates select="scribe[1]/modified" />
That way, it should work...
Fantastic! It works, thank you Andreas!
For the record, here is the working version:
<xsl:template match="/bamiyan">
<html>
<head>
<title>Bamiyan Scribes</title>
</head>
<body>
<div align="center">
<h3>Syllables with Modified Vowels</h3>
<table width="60%" border="1">
<xsl:apply-templates select="scribe[1]/modified" />
</table>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="/bamiyan/scribe[1]/modified">
<xsl:for-each select="data[position() mod 5 = 1]">
<tr>
<xsl:apply-templates select=". | following-sibling::data[position()
< 5]" />
</tr>
</xsl:for-each>
</xsl:template>
<xsl:template match="/bamiyan/scribe[1]/modified/data">
<td width="20%">
<i> <xsl:value-of select="rm"/></i> 
<span style="font-size: 22pt"><font face="Schoyen01"><xsl:value-of
select="kh"/></font></span>
</td>
</xsl:template>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list