XML Calabash 1.0.23 を使用して、XSLT 変換と FO フォーマットを単一のパイプラインで実行しようとしています。XSLT ステップは問題なく動作しますが、xsl-formatter ステップを FOP で動作させることができません。
パイプラインを実行するたびに、Calabash は以下をスローします。
ERROR: pipeline.xpl:13:68:Failed to instantiate FO provider
ERROR: Underlying exception: org/apache/fop/apps/FopFactory
コマンドラインからの Calabash への呼び出しは次のとおりです。
java com.xmlcalabash.drivers.Main -c cfg.xml myPipeline.xpl
上記の行で参照されている cfg.xml 構成ファイルは次のとおりです。
<cc:xproc-config xmlns:cc="http://xmlcalabash.com/ns/configuration">
<cc:fo-processor class-name="com.xmlcalabash.util.FoFOP"/>
</cc:xproc-config>
のclass-name属性の値に関係なく<cc:fo-processor>
、常に同じエラー メッセージがスローされるため、何らかの理由で、Calabash は構成ファイルの設定を無視しているようです。たとえば、を使用するcom.xmlcalabash.util.FoAH
と、同じことが起こります。無意味な値を設定すると、同じことが起こります。では常に例外org/apache/fop/apps/FopFactory
です。
完全を期すために、これは私の XPL です。
<declare-step name="main" version="1.0" xmlns="http://www.w3.org/ns/xproc">
<input port="parameters" kind="parameter" />
<xslt name="transformation">
<input port="source">
<document href="myMarkup.xml" />
</input>
<input port="stylesheet">
<document href="myStylesheet.xsl" />
</input>
</xslt>
<xsl-formatter href="newDoc.pdf" >
<input port="source">
<pipe step="transformation" port="result" />
</input>
</xsl-formatter>
</declare-step>
もちろん、生成された FO を XSLT ステップから FOP 1.1 に手動で渡すと、問題なく PDF に変換されます。この問題は、パイプライン内で変換を実行しようとしたときにのみ発生します。
私は本当にこれを解決するためにいくつかの助けを使うことができました. この時点で私は無知です。