XSL解析缩短了脚本标记,导致IE中出现问题

jwa*_*ech 3 javascript internet-explorer

我有一个C#应用程序,它通过使用xsl文件转换xml文件来生成html文档.在我的xsl模板中,我引用了一个外部javascript文件,如下所示:

<script language="javascript" type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" ></script>
Run Code Online (Sandbox Code Playgroud)

在转换之后,前一行被转换为:

<script language="javascript" type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" />
Run Code Online (Sandbox Code Playgroud)

对于Firefox和Chrome,这没有问题,但是IE会抛出"找不到对象"错误并且不起作用.有任何建议让IE喜欢这种语法吗?或者我需要在xsl(或C#XslCompiledTransform类)中做些什么才能保留语法?

解决方案:通过<![CDATA[ <!-- Some Comment --> ]]>在脚本标记之间放置,解析器不会尝试缩短结束标记.

Che*_*try 7

尝试将空的CDATA部分放入其中.这应该强制解析器不要弄乱脚本标记.

<script language="javascript" type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" ><![CDATA[ ]]></script>
Run Code Online (Sandbox Code Playgroud)