xsl-list
[Top] [All Lists]

Re: Dynamically generating lists of finite length

2004-08-17 09:44:08
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.




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