Subject: Re: [xsl] pagination - From PHP To XSL - Recursion ? From: "Alejandro" <alexcontini@xxxxxxxx> Date: Sat, 2 Feb 2008 18:24:07 -0000 |
1. <xsl:variable name="total" select="12"/> 2. <xsl:variable name="current" select="1"/> 3. <xsl:variable name="interval" select="2"/>
4. <xsl:variable name="first" select="$current - $interval" /> 5. <xsl:variable name="last" select="$current + $interval" />
How to make it correctly in XSL? ----------------------------------- 6. <xsl:if test="$first < 1">
7. $last = $last - ($first -1) //Error - I know it 8. $first = 1 //Error - I know it 9. </xsl:if>
11. $first = $first - ($last - $total) //Error - I Know it 12. $last=total //Error - I Know it
13. <xsl:if test="$first < 1"> 14. $first=1 //Error - I Know it 15. </xsl:if>
16. </xsl:first> ------------------------------------
17. <xsl:call-template name="pagination-item"> 18. <xsl:with-param name="current" select="$current"/> 19. <xsl:with-param name="p" select="$first"/> 20. <xsl:with-param name="last" select="$last"/> <xsl:with-param name="script" select="home.px"/> 21. </xsl:call-template>
<xsl:template name="pagination-item"> <xsl:param name="p"></xsl:param> <xsl:param name="current"></xsl:param> <xsl:param name="last"></xsl:param> <xsl:param name="script"><xsl:value-of select="script"/></xsl:param>
<xsl:call-template name="pagination-item"> <xsl:with-param name="p" select="$p+1"></xsl:with-param> <xsl:with-param name="current" select="$current"></xsl:with-param> <xsl:with-param name="last" select="$last"></xsl:with-param> <xsl:with-param name="script" select="$script"></xsl:with-param> </xsl:call-template>
Not understanding either PHP or Spanish, I'm a bit disadvantaged here. But in any case, trying to reverse-engineer procedural code and turn it into declarative code is usually not the best way to go about things. You often need a completely different approach. It would be better to describe the inputs and outputs of your transformation, and work from there.
Michael Kay http://www.saxonica.com/
-----Original Message----- From: Alejandro [mailto:alexcontini@xxxxxxxx] Sent: 02 February 2008 15:17 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: [xsl] pagination - From PHP To XSL - Recursion ?
Hello, i want to calculate and to catch the final result of the variables $_pagi_nav_desde and $_pagi_nav_hasta to pass them to one template. I don4t know to make it in XSL, because i know that in XSL the variables can4t to change. Can you help me, please?
Cheers, Alexander
// PHP Code//
// Calculamos desde que numero de pagina se mostrara $_pagi_nav_desde = $_pagi_actual - $_pagi_nav_intervalo; // Calculamos hasta que numero de pagina se mostrara $_pagi_nav_hasta = $_pagi_actual + $_pagi_nav_intervalo;
// Ajustamos los valores anteriores en caso sean resultados no validos
// Si $_pagi_nav_desde es un numero negativo if($_pagi_nav_desde < 1){ // Le sumamos la cantidad sobrante al final para mantener el numero de enlaces que se quiere mostrar. $_pagi_nav_hasta -= ($_pagi_nav_desde - 1); // Establecemos $_pagi_nav_desde como 1. $_pagi_nav_desde = 1; }
// Si $_pagi_nav_hasta es un numero mayor que el total de paginas if($_pagi_nav_hasta > $_pagi_totalPags){ // Le restamos la cantidad excedida al comienzo para mantener el numero de enlaces que se quiere mostrar. $_pagi_nav_desde -= ($_pagi_nav_hasta - $_pagi_totalPags); // Establecemos $_pagi_nav_hasta como el total de paginas. $_pagi_nav_hasta = $_pagi_totalPags;
// Hacemos el ultimo ajuste verificando que al cambiar $_pagi_nav_desde no haya quedado con un valor no valido. if($_pagi_nav_desde < 1){ $_pagi_nav_desde = 1; } }
// XSL Code // <xsl:call-template name="pagination-item"> <xsl:with-param name="current" select="$curpage"/> <xsl:with-param name="p" select="$_pagi_nav_desde"/> ?? <xsl:with-param name="last" select="$_pagi_nav_hasta"/> ?? <xsl:with-param name="script" select="$script"/> </xsl:call-template>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] pagination - From PHP To , Michael Kay | Thread | [xsl] pagination - From PHP To XSL , Alejandro |
[xsl] Phd Project - XSL for XML to , j milo taylor | Date | RE: [xsl] count of preceding siblin, Michael Kay |
Month |