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