0

您好我正在尝试使用以下代码从 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 调用转换时省略该空间?否则,如果我不去掉那个前导空格,它会给出 500 错误。

4

2 回答 2

0

你意识到 的值${xslt}是一个字符串,对吧?;)

于 2012-12-13T23:36:10.097 回答
0

严格阅读XML 规范(生产 22“序言”)说在 XML 序言之前不能有空格。因此,带有前导空格的 XSL 文件已损坏,必须修复。

我想您可以编写代码以将 XSL 文件加载到内存中,同时删除前导空格,然后将更正的缓冲区传递给转换而不是原始 XSL ......但这似乎需要做很多工作,并且每次都会发生调用了 JSP。

于 2012-12-12T07:06:03.663 回答