xslt,javascript和未转义的html实体 [英] xslt, javascript and unescaped html entities

查看:149
本文介绍了xslt,javascript和未转义的html实体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对xslt,js和html实体有一个小问题,例如。在模板中:

i have a tiny little problem with xslt, js and html entities, eg. within a template:

<script type="text/javascript">
    <xsl:value-of select="/some/node"/>
    for (var i = 0; i &lt; 5; i++) {
        //            ^^^ js error
    }
</script>

<script type="text/javascript">
    <xsl:value-of select="/some/node"/>
    for (var i = 0; i < 5; i++) {
        //            ^ xslt error
    }
</script>

<script type="text/javascript">
    <xsl:value-of select="/some/node"/>
    // <![CDATA[
    for (var i = 0; i < 5; i++) {
        //            ^ becomes &lt;
    }
    // ]]>
</script>


<script type="text/javascript">
    <xsl:value-of select="/some/node"/>
    for (var i = 0; i <xsl:value-of disable-output-escaping="yes" select="string('&lt;')"/> 5; i++) {
        // works of course
    }
</script>

有没有人知道我的问题可能来自哪里?我一直以为xslt处理器会留下< script />的内容。元素在使用html输出方法时未转义...

does anyone have an idea where my problem could come from? i always thought the xslt processor would leave the content of a <script/> element unescaped when using the html output method ...

我在OSX上运行libxslt2版本1.1.24,它是使用macportsports安装的......

i run libxslt2 version 1.1.24 on OSX which was installed using macportsports ...

推荐答案

好的。很长的故事,简短的回答:

ok. long story, short answer:

似乎一些libxslt版本 xslt处理器留下未转义的< script />元素的内容当使用html输出法时,与其他人一起
...因此建议采用以下方法:

it seems that with some libxslt versions the xslt processor leaves the content of a <script/> element unescaped when using the html output method, with others not ... therefore the following is recommended:

<script type="text/javascript">
    <xsl:value-of select="/some/node"/>
    <xsl:text disable-output-escaping="yes">
        // ^ does the trick ...
        for (var i = 0; i < 5; i++) {
            //            ^ works
        }
    </xsl:text>
</script>

这篇关于xslt,javascript和未转义的html实体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆