我必须在xsl样式表文件中有一个内联脚本,但问题是xsl尝试转换脚本并导致错误。
<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-upload fade">
<td class="preview"><span class="fade"></span></td>
<td class="name"><span>{%=file.name%}</span></td>
<td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
{% if (file.error) { %}
<td class="error" colspan="2"><span class="label label-important">Error</span> {%=file.error%}</td>
{% } else if (o.files.valid && !i) { %}
<td>
<div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="bar" style="width:0%;"></div></div>
</td>
<td class="start">{% if (!o.options.autoUpload) { %}
<button class="btn">
<i class="icon-upload icon-white"></i>
<span>Start</span>
</button>
{% } %}</td>
{% } else { %}
<td colspan="2"></td>
{% } %}
<td class="cancel">{% if (!i) { %}
<button class="btn btn-danger">
<i class="icon-ban-circle icon-white"></i>
<span>Cancel</span>
</button>
{% } %}</td>
</tr>
{% } %}
</script>
有没有办法在xsl中使用内联脚本?
答案 0 :(得分:6)
由于&符号(&
),您的javascript部分无效xml。避免解释
你可以使用CDATA和disable-output-escaping来避免转义。
<xsl:template match="/">
<script id="template-upload" type="text/x-tmpl">
<xsl:text disable-output-escaping="yes" >
<![CDATA[
...
]]>
</xsl:text>
</script>