指定された xsl ファイルと指定された xml ファイルから FO ファイルを生成しました。Java コードを使用して FO ファイルを検証したいと考えています。xml と xsl から fo ファイルを生成するとき、自動的にチェックされますか?
2 に答える
私はそうは思わない。FO に問題があると最初に感じたのは、PDF 生成中に FO プロセッサがエラーを出したときです。Oxygen の開発者の 1 人は、Oxygen フォーラムでこの問題について次のように述べています。
XSL-FO の問題は、それを完全かつ適切に検証できるツールがないことです。XML スキーマは、XSL-FO 出力ファイルにあるすべての制約を指定することはできず、XSL-FO 出力を検証するための公式の XML スキーマはありません。これに加えて、RenderX XEP などの一部の XSL-FO プロセッサには、標準に対する独自の拡張機能があります。私にとって最良の検証は、XSL-FO を PDF に処理して、発生したときにプロセッサに警告とエラーを発行させることです。
私はまだfocheck
試してみます。ここを参照してください:
README で説明されているように:
スタンドアロン
oXygen と Ant の外部では、schema フォルダー内の Relax NG スキーマと schematron フォルダー内の Schematron ファイルを使用できます。でも:
Relax NG は、Jing および Emacs nxml-mode では機能しますが、xmllint では機能しません。Schematron には、XSLT 2.0 バインディングと Schematron 実装が必要です。これらは、属性をコンテキストとして照合するだけでなく、外部 XSLT 2.0 スタイルシートをインポートして使用することもできます。スタンドアロン チェックには、Saxon 9 と Jing が必要です。Jing はhttps://github.com/relaxng/jing-trang/releasesから入手でき ます。
また、 を使用しfop
ている場合は、非公式の FOP スキーマが付属していることに注意してください。こちらを参照してください。
FOP はまた、FOP サブバージョン リポジトリで非公式の FOP スキーマを維持します。このドキュメントは、FO 標準に対して、または実際の FOP 実装に対して検証するために使用できます。使用方法については、ドキュメントの冒頭付近にある注意事項を参照してください。