您好我正在尝试使用以下代码从jsp执行xml-xsl转换:
<c:import url="/global/xsl/sub-nav.xsl" var="xslt"/>
<c:import url="/sitemap.xml" var="xmltext"/>
<x:transform xml="${xmltext}" xslt="${xslt}">
<x:param name="relativeURL" value="/personal/accounts/"/>
<x:param name="fullRelativeURL" value="/personal/accounts/sba/"/>
</x:transform>
这里的问题是,我无法对xsl文件进行任何更改。它在<?xml version="1.0" encoding="ISO-8859-1"?>
之前有一个前导空格,即xsl的第一行。有没有办法在从jsp调用transform时可以省略该空格?否则,如果我没有摆脱那个领先的空间,它会给出500错误。
答案 0 :(得分:0)
严格阅读XML spec (production 22 "prolog")表示在XML序言之前不能有空格。因此,具有前导空格的XSL文件被破坏, 必须 被修复。
我想你可以编写代码来将XSL文件加载到内存中,同时删除前导空格,然后将修正后的缓冲区传递给转换而不是原始的XSL ......但这似乎很多工作,并且会发生每次调用JSP时都会。
答案 1 :(得分:0)
你意识到${xslt}
的值是一个字符串,对吗? ;)