[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] pagination - From PHP To XSL - Recursion ?


Subject: [xsl] pagination - From PHP To XSL - Recursion ?
From: "Alejandro" <alexcontini@xxxxxxxx>
Date: Sat, 2 Feb 2008 20:00:03 -0000

I solved it,

Thanks Michael for your reply.




---- Mensaje original ----- De: Michael Kay
Para: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Enviado: sabado, 02 de febrero de 2008 15:38
Asunto: RE: [xsl] pagination - From PHP To XSL - Recursion ?



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
Keywords
xsl