xslt
  • xslt-2.0
  • 2012-02-27 65 views 3 likes 
    3

    您好我有一个XSL变量XSL变量使用

    <xsl:variable name="QTime" select="response/lst/int[@name='QTime']"/> 
    

    现在我需要这个传递给JavaScript函数。请帮助我如何做到这一点...

    <span onmouseout='c();' onmouseover='s($numFound);'> 
    

    例如

    <span onmouseout='c();' onmouseover='s(900);'> 
    
    +0

    您需要更详细地解释您想达到的目标;你是否想在XSLT中使用Javascript作为扩展函数,如果是的话,你使用哪种XSLT 2.0处理器?我认为AltovaXML支持(在商业版http://manual.altova.com/AltovaXML/altovaxmlreporting/index.html?xextmsxsl.htm),撒克逊没有。在XSLT 2.0中使用'xsl:function'在XSLT中编写函数时,是否需要这样做是值得怀疑的。或者你想在XSLT转换的HTML结果文档中使用Javascript?你在服务器上还是客户端(SaxonCE)上使用XSLT 2.0? – 2012-02-27 10:46:18

    +0

    @Varun,接受答案..如果它确实帮助了你..否则人们会认为,这些答案没有用,并试图想出一个新的解决方案,这是浪费时间..:| – 2012-02-27 12:28:23

    回答

    3

    简单:

    <span onmouseout='c();' onmouseover='s({$numFound});'> 
    

    {}是这里的关键 - 在属性中使用时,他们使用XSLT作为一个短手来评价内容在xslt规则下。这相当于:

    <span onmouseout='c();'> 
        <xsl:attribute name="onmouseover">s(<xsl:value-of select="$numFound"/>);</xsl:attribute> 
    </span> 
    
    +0

    它的工作。谢谢马克。 – Varun 2012-02-27 11:38:13

    +0

    @Varun:在这种情况下,接受答案是一种好的做法。这是通过点击最佳答案旁边的复选标记完成的。 – 2012-02-28 01:37:02

    2

    我猜你产生一些HTML与XSL转换。然后,你可以试试这个:

    <xsl:element name="span"> 
        <xsl:attribute name="onmouseout"> 
         <xsl:text>c();</xsl:text> 
        </xsl:attribute> 
        <xsl:attribute name="onmouseover" select="concat('s(', $numFound, ');')" /> 
    </xsl:element> 
    
    +0

    有一个更简单的方法来做到这一点,顺便说一句;看到我的回答 – 2012-02-27 11:16:12

    相关问题