xsl中的内联javascript

时间:2013-05-13 09:41:09

标签: xslt

我必须在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中使用内联脚本?

1 个答案:

答案 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>