2

我从给定的 xsl 文件和给定的 xml 文件生成了一个 FO 文件。我想使用 java 代码验证 FO 文件。从 xml 和 xsl 生成 fo 文件时,是否自动检查?

4

2 回答 2

4

我不这么认为。我得到 FO 有任何问题的第一个迹象是 FO 处理器在 PDF 生成期间出错。Oxygen 的一位开发人员在 Oxygen 论坛上对此事发表了这样的看法:

XSL-FO 的问题在于没有工具可以完全正确地验证它。XML Schema 不能指定 XSL-FO 输出文件中的所有约束,并且没有用于验证 XSL-FO 输出的官方 XML Schema。除此之外,一些 XSL-FO 处理器(如 RenderX XEP)有自己的标准扩展。对我来说最好的验证是将 XSL-FO 处理为 PDF,从而让处理器在遇到它们时发出警告和错误。

于 2013-09-25T09:38:05.613 回答
1

我还是会focheck试一试,看这里:

如自述文件中所述:

独立

您可以使用架构文件夹中的 Relax NG 架构以及 oXygen 和 Ant 之外的 schematron 文件夹中的 Schematron 文件。然而:

Relax NG 适用于 Jing 和 Emacs nxml-mode,但不适用于 xmllint。Schematron 需要一个 XSLT 2.0 绑定和一个 Schematron 实现,它们都将匹配作为上下文的属性以及导入和使用外部 XSLT 2.0 样式表。独立检查需要 Saxon 9 和 Jing。您可以从 https://github.com/relaxng/jing-trang/releases获取 Jing 。

此外,如果您使用fop,请注意它带有非官方的 FOP 架构,请参见此处:

FOP 还在 FOP Subversion 存储库中维护了一个非官方的 FOP 模式。本文档可用于根据 FO 标准或实际 FOP 实施进行验证。有关如何使用它的说明,请参阅文档开头附近的注释。

于 2016-12-14T07:54:19.717 回答