Subject: RE: [xsl] RE: xsl for From: cknell@xxxxxxxxxx Date: Fri, 07 Apr 2006 11:30:38 -0400 |
Given exactly what you state is your input (I suspect it's more complicated), this stylesheet will give the output you asked for using recursive calls to a named template. <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes" /> <xsl:strip-space elements="*" /> <xsl:template match="/"> <xsl:call-template name="pageBrowser"> <xsl:with-param name="maxpage" select="14" /> </xsl:call-template> </xsl:template> <xsl:template name="pageBrowser"> <xsl:param name="maxpage" /> <xsl:param name="start" select="5" /> <xsl:variable name="factor" select="/pageBrowser/@pageSize" /> <xsl:variable name="skipcount" select="$start * $factor" /> <xsl:if test="$start le $maxpage"> <a href="toto.htm?skip={$skipcount}"><xsl:value-of select="$start" /></a> <xsl:call-template name="pageBrowser"> <xsl:with-param name="maxpage" select="$maxpage" /> <xsl:with-param name="start" select="$start + 1" /> </xsl:call-template> </xsl:if> </xsl:template> </xsl:stylesheet> -- Charles Knell cknell@xxxxxxxxxx - email -----Original Message----- From: Philippe LAPLANCHE <philippe.laplanche@xxxxxxxxxxxx> Sent: Fri, 7 Apr 2006 16:54:40 +0200 To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: [xsl] RE: xsl for Sorry I sent the mail before I finished writing it. This may appear silly but I don't know how to do this in a clean way with xsl ... My input is <pageBrowser startPage="5" pageSize="10"/> And I want this output : <a href="toto.htm?skip=50">5</a> <a href="toto.htm?skip=60">6</a> <a href="toto.htm?skip=70">7</a> <a href="toto.htm?skip=80">8</a> <a href="toto.htm?skip=90">9</a> <a href="toto.htm?skip=100">10</a> <a href="toto.htm?skip=110">11</a> <a href="toto.htm?skip=120">12</a> <a href="toto.htm?skip=130">13</a> <a href="toto.htm?skip=140">14</a> I mean I want to use a loop somewhere and I don't want to have <xsl:template match="pageBrower"> <a href="toto.htm?skip={@startPage*@pageSize}"><xsl:value-of select="@startPage"/></a> <a href="toto.htm?skip={(@startPage+1)*@pageSize}"><xsl:value-of select="@startPage+1"/></a> <a href="toto.htm?skip={(@startPage+2)*@pageSize}"><xsl:value-of select="@startPage+2"/></a> <a href="toto.htm?skip={(@startPage+3)*@pageSize}"><xsl:value-of select="@startPage+3"/></a> ... </xsl:template> Thanks in advance Philippe
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] RE: xsl for, Michael Kay | Thread | [xsl] Getting a specific element co, Spencer Tickner |
RE: [xsl] RE: xsl for, Michael Kay | Date | Re: [xsl] does anyone use the Altov, andrew welch |
Month |