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 original
set 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?