我有这个代码xslt,
<xsl:template match="/">
// some truncated js code here
for (var i=0 ; i < arrIdentifiers.length ; i++) {
$("#list").append('<li class="ui-widget-content"><span class="sort-handle">☰</span>'+arrIdentifiers[i]+'</li>');
}
// some truncated js code here
</xsl:template>
由于某种原因输出正在破坏新线 (看看跨度如何在新行中)
这导致JS错误..
for (var i=0 ; i < arrIdentifiers.length ; i++) {
$("#list").append('<li class="ui-widget-content">
<span class="sort-handle">☰</span>'+arrIdentifiers[i]+'</li>');
}
无论如何我可以指示模板不处理内部html?
答案 0 :(得分:0)
你没有说你正在使用哪个XSLT处理器(关键字xerces肯定是无关紧要的)。您也没有说明xsl:output
选项是什么,但我怀疑您使用method = html和indent = yes明确或隐含。
使用这些序列化选项,允许序列化程序在特定上下文中添加空格(包括换行符)。不允许在脚本元素中添加它:不清楚您的代码是否在脚本元素中结束。但是如果你打算以这种方式在Javascript文字中包含HTML元素,你就会遇到这样的问题。逃避它,或使用纯Javascript DOM方法(或jQuery或其他)会更安全。