SoloCodigo

Programación General => Otros Lenguajes de Programación => XSL => Mensaje iniciado por: cremix en Jueves 25 de Noviembre de 2010, 19:47

Título: Código XSL no me devuelve nada
Publicado por: cremix en Jueves 25 de Noviembre de 2010, 19:47
Hola:

Estoy empezando con el xsl y estoy atascado en un punto y no condigo dar con una solución, qué además seguro que es una cosas muy tonta.
El fichero de entrada xml contiene lo siguiente:

Código: XML
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <graphml>
  3.     <graph>
  4.         <node id="sevilla"/>
  5.         <edge source="sevilla" target="huelva"/>
  6.         <edge source="sevilla" target="cadiz"/>
  7.         <edge source="sevilla" target="rosal de la frontera"/>
  8.         <node id="cadiz"/>
  9.         <edge source="cadiz" target="medina sidonia"/>
  10.         <node id="huelva"/>
  11.         <edge source="huelva" target="rosal de la frontera"/>
  12.         <node id="medina sidonia"/>
  13.         <node id="rosal de la frontera"/>
  14.     </graph>
  15. </graphml>
  16.  

Y el fichero de xsl contiene lo siguiente

Código: Text
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet
  3. version="1.0"
  4. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  5. xmlns="http://www.w3.org/1999/xhtml">
  6.  
  7. <xsl:variable name="ciudad" select="'cadiz'"/>
  8.  
  9. <xsl:output method="xml"/>
  10.  
  11. <xsl:template match="/graphml">
  12.     <graphml>
  13.         <graph>
  14.             <xsl:if test="graph/egde/@source = $ciudad">
  15.                 <xsl:copy-of select="graph/edge"/>
  16.             </xsl:if>
  17.         </graph>
  18.     </graphml>
  19. </xsl:template>
  20. </xsl:stylesheet>
  21.  
  22.  

Yo quiero que me salgan los edge cuyo atributo source sea el mismo que la variable ciudad que he declarado pero el programa no me devuelve nada. En este caso yo quiero que me devuelva
Código: XML
  1.  
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <graphml>
  4. <graph>
  5. <edge source="cadiz" target="medina sidonia"/>
  6. </graph>
  7. </graphml>
  8.  

Gracias, un saludo