我有一个与XSLT、JS和HTML实体有关的小问题,例如在模板中:
<script type="text/javascript">
<xsl:value-of select="/some/node"/>
for (var i = 0; i < 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 <
}
// ]]>
</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('<')"/> 5; i++) {
// works of course
}
</script>
有人知道我的问题是从哪里来的吗?我一直认为当使用HTML输出方法时,XSLT处理器会保留<script/>元素的内容,而不进行转义...
我在OSX上运行的libxslt2版本为1.1.24,这是通过Macportsports安装的...