如何将<script>添加到XSLT [Solved with Escaping] </script>

时间:2014-02-10 12:02:43

标签: javascript jquery html xslt accordion

我正在使用GanntProject,这是一个用于甘特图的桌面应用程序,可以使用某些XSL以HTML格式导出。 (我不是100%熟悉XSL /它是如何工作的)

导出的结果可在此处获取:http://pixels.studenttribe.org/3DPrinting/3rdYrProjGannt3.6-tasks.html (注意顶部的超级链接,“Gannt”将您带到图表中)

“任务”页面的原始XSL可在此处获得: http://pixels.studenttribe.org/3DPrinting/StackOverflow/ “旧”文件是程序附带的ORIGINAL文件,“gannt-tasks.xsl”是我正在使用的版本(使用我的编辑) (FileExtension从“.xsl”重命名为“.txt”以允许在浏览器中查看)

问题: 如果我尝试在此XSL文件中添加一些Javascript,为什么会出现错误?是否有解决方案在导出时自动将此脚本包含在HTML中? (您可以通过查看上面提供的第一个链接的页面源,手动输入的脚本,脚本位于顶部)N.B.该脚本启用HTML而不是显示纯文本。

提前感谢您的帮助!

杰罗姆

1 个答案:

答案 0 :(得分:1)

确保您的XSLT格式正确。 JavaScript代码中任何未转义的<&都会破坏XML。

您可以通过将其内容包含在<![CDATA[...]]>中来“转义”您的脚本,如下所示:

<script type="application/javascript"><![CDATA[
  // Put your script here
]]></script>

XML并不像HTML那样宽容。它具有更严格(和更简单)的解析规则。