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

Subject: RE: [xsl] pagination - From PHP To XSL - Recursion ?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sat, 2 Feb 2008 15:38:12 -0000
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