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

XML 仕様 (プロダクション 22 の「プロローグ」)を厳密に読むと、XML プロローグの前に空白を入れることはできません。したがって、先頭に空白がある XSL ファイルは破損しており、修正する必要があります。

先頭のスペースを削除しながら XSL ファイルをメモリにロードするコードを記述し、元の XSL の代わりに修正されたバッファを変換に渡すことができると思います...しかし、それは多くの作業のように思われ、 JSP が呼び出されました。

于 2012-12-12T07:06:03.663 に答える
0

の値が${xslt}文字列であることがわかりますよね? ;)

于 2012-12-13T23:36:10.097 に答える