Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/04/2011, 15:30
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 8 meses
Puntos: 344
Respuesta: Variables en XSL

Hubiera estado bien si hubieses puesto como es la estructura del archivo xml para poder ver cual es el problema exacto con la plantilla XSL.

Aun así, tal como lo veo el problema que tienes es sencillo,
la variable vopcion que creas no sirve de nada.

No puedes utilizar una variable para ello, porque la variable se crea en el momento en el que se ejecuta (no es una función a la que llamar).

Lo único que tienes que hacer es cambiar el
Código XML:
Ver original
  1. <xsl:when test="$vopcion'">
por
Código XML:
Ver original
  1. <xsl:when test="@category='web'"
>

Este sería el código cambiado:

Código XML:
Ver original
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3.  
  4.  
  5. <xsl:template match="/">
  6.  
  7. <xsl:apply-templates/>
  8.  
  9. </xsl:template>
  10.  
  11. <xsl:template match="bookstore/book">
  12.  
  13.  
  14. <xsl:choose>
  15. <xsl:when test="@category='web'">
  16. <tr>
  17. <td><xsl:value-of select="@category"/></td>
  18. <td><xsl:value-of select="@id"/></td>
  19. <td><xsl:value-of select="@cover"/></td>
  20. <td><xsl:value-of select="title"/></td>
  21. <td>
  22. <xsl:for-each select="author">
  23. <xsl:value-of select="."/>
  24. <span>;</span>
  25. </xsl:for-each>
  26. </td>
  27. <td><xsl:value-of select="year"/></td>
  28. <td><xsl:value-of select="price"/></td>
  29. </tr>
  30. </xsl:when>
  31. </xsl:choose>
  32.  
  33.  
  34. </xsl:template>
  35.  
  36.  
  37. </xsl:stylesheet>