Hi,
Thanks, this helps a bunch, but I don't undestand quite what this bit does.
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
Could you explain that to me?
Thanks,
Brendan Moran
Dimtre Novatchev wrote:
The following code presents one simple (not necessarily efficient)
compact and straightforward solution ot the splitting of "/a/b/c"
elements into pages of fixed length.
It doesn't address the other aspects of the problem, but these should
not be difficult, too:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:variable name="vRecsPerPage" select="11"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/*/b/c">
<xsl:variable name="vPos">
<xsl:number count="/*/b/c" level="any"/>
</xsl:variable>
<xsl:if test="$vPos mod $vRecsPerPage = 1">
<page number="{ceiling($vPos div $vRecsPerPage)}"/>
</xsl:if>
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
Cheers,
Dimitre Novatchev.