不好意思。。上面代码没仔细检查写错了一段。现在重新发一次。html文件部分内容: 
<body> 
<a href="javascript:void(0);" onclick="cha(3)">测试 </a> 
</body> 
xsl文件部分内容: <script type="text/script"> 
function cha(num
        {             <xsl:for-each select="LatestBegInfo/SimpleResumeInfo[poisition()=$num]">                       //循环体内容 
              </xsl:for-each> 
        } 
</script>

解决方案 »

  1.   

    用js向xsl 加入变量
    然后在xsl文件中使用该变量参数1、在js中如下:    //加载xml文件
        xmlDoc = new ActiveXObject('Msxml2.DOMDocument.3.0')
        xmlDoc.async = false;
        xmlDoc.load("test.xml")
        
        //加载xsl文件
        xslDoc = new ActiveXObject('MSXML2.FreeThreadedDOMDocument.3.0')
        xslDoc.async = false;
        xslDoc.load("test.xsl")
        
        var oXSLT = new ActiveXObject("MSXML2.XSLTemplate.3.0");
        oXSLT.stylesheet = xslDoc;
        var oXSLProc = oXSLT.createProcessor();
        oXSLProc.input = xmlDoc;
        //document.all.hidGUID.value为页面中一个变量
        oXSLProc.addParameter("testvalue", document.all.hidGUID.value);//往xsl里面设置参数
        oXSLProc.transform();
        //输出信息
        document.body.innerHtml=oXSLProc.output;2、在xsl中下如:
        <xsl:param name="testvalue"/>
        <xsl:template match="entity">
        <xsl:if test="description!=($testvalue)">
        ......
        </xsl:if>   
        </xsl:template> 
      

  2.   

    //document.all.hidGUID.value为页面中一个变量
    这个不管它,呵呵。是我脑残了一下
      

  3.   


    <xsl:param name="testvalue"/><!--testvalue就是js里面传进来的参数,在xsl定义了就,下面可以直接用-->
        <xsl:template match="entity">
        <xsl:if test="description!=($testvalue)">
        ......
        </xsl:if>   
        </xsl:template> 
      

  4.   

    谢谢!这个方法给了我一点启发。
    下面一句是关键:
    oXSLProc.addParameter("testvalue", document.all.hidGUID.value);//往xsl里面设置参数所以我想创建一个空的xml文档目的就是为了存放那一个变量的话该怎么做咧?
      

  5.   

    有必要把一个变量存放到文档里面吗?如果你要建一个xml文档来存放那个变量,那你要在xsl里面定义输出文档的格式是xml的,然后,你把你从js获得参数放到那个xml文件里,创建xml文件的话,不能由xslt来进行,xslt没有这个功能,你可以用xalan等处理器对xslt进行扩展来实现创建xml文档的功能,不过我不熟悉,你可以用js或者程序来创建这个xml文档