Calabash 1.0.23 throws on xsl-formatter step: ERROR: Failed to instantiate FO provider
Calabash 1.0.23 throws on xsl-formatter step: ERROR: Failed to instantiate FO provider
我正在尝试在单个管道中使用 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>
出于某种原因,Calabash 似乎忽略了配置文件设置,因为无论 class-name 属性的值如何 <cc:fo-processor>
,它总是抛出相同的错误信息。例如,如果我使用 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。只有在尝试在管道内进行转换时才会出现此问题。
我真的需要一些帮助来解决这个问题。我现在一头雾水。
这似乎是一个非常迂腐的回复,但是您的类路径中是否有 fop.jar(以及我认为 FOP 需要的 fop-hyph.jar)?它们未捆绑在 XML Calabash 发行版中,您必须从 Apache 获取它们。
我正在尝试在单个管道中使用 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>
出于某种原因,Calabash 似乎忽略了配置文件设置,因为无论 class-name 属性的值如何 <cc:fo-processor>
,它总是抛出相同的错误信息。例如,如果我使用 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。只有在尝试在管道内进行转换时才会出现此问题。
我真的需要一些帮助来解决这个问题。我现在一头雾水。
这似乎是一个非常迂腐的回复,但是您的类路径中是否有 fop.jar(以及我认为 FOP 需要的 fop-hyph.jar)?它们未捆绑在 XML Calabash 发行版中,您必须从 Apache 获取它们。