[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[OT] ¿Es esto un bug de libxslt?



Hola, listeros:

He tenido que estar apañado un XSLT (de lo que sé lo justito) y resulta
que me he encontrado con lo siguiente:

Esto funciona perfectamente:

<xsl:variable name="tipo" select="@tipo" />
<xsl:number count="/fonoteca/disco[@tipo=$tipo]" />

Sólo se cuentan los discos cuyo "tipo" sea igual al "tipo" del nodo que se
está procesando (que es un disco).

En cambio, esto no funciona:

<xsl:number count="/fonoteca/disco[@tipo=current()/@tipo]" />

La salida que se me muestra es la misma que si hubiera escrito:

<xsl:number count="/fonoteca/disco[@tipo=./@tipo]" />

o sea, que me cuenta todos los discos. Si he entendido bien, current()
se refiere siempre al nodo que está procesando el XSLT y no al nodo de
referencia en la expresión XPath.

La misma expresión he usado en el atributo "test" de un "xsl:if" y en el
select de un "xsl:apply-templates" y el current() ha funcionado como yo
esperaba.

He procurado buscar el bug en https://bugzilla.gnome.org/, pero no he
encontrado nada al respecto.

¿Está alguien puesto en XSLT?

Saludos.

-- 
   Un bel morir tutta una vita honora.
                  --- Francisco Petrarca ---


Reply to: