XSLT替换<span with =“”new =“”line =“” - =“”> <span

时间:2016-10-21 21:05:44

标签: java xslt xerces

=“”

我有这个代码xslt,

    <xsl:template match="/">
                    // some truncated js code here
                    for (var i=0 ; i &lt; arrIdentifiers.length ; i++) { 
                        $("#list").append('<li class="ui-widget-content"><span class="sort-handle">&#9776;</span>'+arrIdentifiers[i]+'</li>');
                        }
                    // some truncated js code here
</xsl:template>

由于某种原因输出正在破坏新线 (看看跨度如何在新行中)

这导致JS错误..

                    for (var i=0 ; i &lt; arrIdentifiers.length ; i++) { 
                        $("#list").append('<li class="ui-widget-content">
                        <span class="sort-handle">&#9776;</span>'+arrIdentifiers[i]+'</li>');
                        }

无论如何我可以指示模板不处理内部html?

1 个答案:

答案 0 :(得分:0)

你没有说你正在使用哪个XSLT处理器(关键字xerces肯定是无关紧要的)。您也没有说明xsl:output选项是什么,但我怀疑您使用method = html和indent = yes明确或隐含。

使用这些序列化选项,允许序列化程序在特定上下文中添加空格(包括换行符)。不允许在脚本元素中添加它:不清楚您的代码是否在脚本元素中结束。但是如果你打算以这种方式在Javascript文字中包含HTML元素,你就会遇到这样的问题。逃避它,或使用纯Javascript DOM方法(或jQuery或其他)会更安全。