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:
<?xml version="1.0" encoding="UTF-8"?>
<graphml>
<graph>
<node id="sevilla"/>
<edge source="sevilla" target="huelva"/>
<edge source="sevilla" target="cadiz"/>
<edge source="sevilla" target="rosal de la frontera"/>
<node id="cadiz"/>
<edge source="cadiz" target="medina sidonia"/>
<node id="huelva"/>
<edge source="huelva" target="rosal de la frontera"/>
<node id="medina sidonia"/>
<node id="rosal de la frontera"/>
</graph>
</graphml>
Y el fichero de xsl contiene lo siguiente
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:variable name="ciudad" select="'cadiz'"/>
<xsl:output method="xml"/>
<xsl:template match="/graphml">
<graphml>
<graph>
<xsl:if test="graph/egde/@source = $ciudad">
<xsl:copy-of select="graph/edge"/>
</xsl:if>
</graph>
</graphml>
</xsl:template>
</xsl:stylesheet>
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
<?xml version="1.0" encoding="UTF-8"?>
<graphml>
<graph>
<edge source="cadiz" target="medina sidonia"/>
</graph>
</graphml>
Gracias, un saludo