Hola, sucede lo siguiente: no logro que la plantilla xsl reciba el valor que le trato de pasar para filtrar el archivo xml
El archivo xml es como esto:
Código XML:
Ver original<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="comercios.xsl" type="text/xsl"?>
<comercios>
<comercio>
<id>1</id>
<nom>ABARNIL S.A.</nom>
<cat>1</cat>
...
</comercio>
<comercio>
<id>2</id>
<nom>AMORE WINE BAR-RESTO</nom>
<cat>1</cat>
...
</comercio>
...
</comercios>
Mi xsl es este:
Código XML:
Ver original<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>
<xsl:param name="cat"/>
<xsl:template match="/">
<xsl:apply-templates select="comercios"/>
</xsl:template>
<xsl:template match="comercios">
<xsl:copy>
<xsl:apply-templates select="comercio[cat=$cat]">
<xsl:sort select="nom" data-type="text"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="comercio">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
Y la llamada es esta:
Código ASP:
Ver originalset xmlComs = Server.CreateObject("Microsoft.XMLDOM")
xmlComs.async = false
xmlComs.Load "miarchivo.xml"
set xslOrd = Server.CreateObject("Microsoft.XMLDOM")
xslOrd.async = false
xslOrd.Load "miarchivo.xsl?cat=5"
xmlComs.transformNodeToObject xslOrd,xmlComs
Pero nada, la plantilla ni se entera que le estoy mandando un dato y me devuelve el archivo vacio. En cambio si le pongo el valor de filtrado manualmente en el xsl, funciona bien.
Alguna idea?