0

Saxon 4.4.2 を使用して、DocBook をさまざまな形式 (HTML、PDF、ePub など) に変換しています。Eclipse を使用して MacBook Pro で開発を行っています。すべてJavaで書かれています。私の Mac では、すべて正常に動作します。Eclipse を使用してデプロイ可能なプラグインを生成し、プラグインをコピーして Windows 7 の Eclipse インストールにドロップし、DocBook から HTML への変換を実行すると、Saxon は「スタイルシートのコンパイルに失敗しました。1 つのエラーが検出されました」と報告します。

エラーの原因は

com.icl.saxon.TransformerFactoryImpl、メソッド newTemplates の 120 行目。

によって呼び出された

com.icl.saxon.TransformerFactoryImpl、メソッド newTransformer、72 行目。

私のコードの呼び出し行は次のとおりです。

Transformer transformer = tfactory.newTransformer(xsl);

xsl の設定は、次の行で行います。

StreamSource xsl = new StreamSource(DocBookTransformer.class.getResourceAsStream("/lib/docbook-xsl-1.76.1/xhtml/docbook.xsl"); 

両方のマシンで同じ Saxon Jar と同じスタイルシート ファイルが処理されている場合、Saxon は Mac ではエラーなしでスタイルシートを処理するのに、Windows では解析に失敗するのはなぜですか?

4

1 に答える 1

0

サクソン 4.4.2? 一体どこでそれを手に入れたのですか?おそらく1998年頃に出版された本の裏にあるCDでしょうか?これは 2001 年の SourceForge での最初のリリースよりも前のものであり、おそらく Java 1.1.8 で実行するように設計されています。

したがって、最初のステップは、最新のリリースでも問題が発生するかどうかを確認することです。現在のリリースは 9.5 です。

もう 1 つのことは、Saxon が報告したと言っているエラーが何であるかを調べることです。メッセージは JAXP ErrorListener に送信され、何も変更しない限り、デフォルトの ErrorListener がメッセージを System.err に書き込みます。

あるプラットフォームでは機能し、別のプラットフォームでは失敗する可能性が最も高いのは、xsl:include と xsl:import の URI であるため、それらを確認してみてください。

于 2013-07-18T21:10:47.913 に答える