XSL 変換プロセス中に XSL FO ドキュメントを取得するのに役立つ XSLT パーサー (MSXML 4.0 など) はありますか?
つまり、XML および XSL ファイルから XSL FO ファイルを取得するにはどうすればよいでしょうか。
ありがとう、アイウィー
自動的に行うことはできません。
元のXSL仕様は、次の3つの個別の仕様に分割されました。
XSL:FOは、XMLでドキュメントを記述する方法と見なす必要があります。XSLTは、このようなXML構造を生成するのに役立ちますが、自動的には生成されません。
フローは次のとおりです。
XML input => XSLT => XML output.
XSL:FOはXML出力です。
流れはありません
XML input => XSLT => XML output & XSL:FO.
混乱の根源は、XSLという用語がXSLT / XSLFOとXPATHを含むという事実に起因していると思いますが、XSLはXSLTの同義語として使用されることがよくあります。
w3schoolsには、これら2つの別個の仕様が互いにどのように役立つかについてのセクションがあります。
これには単純な xml 変換を使用できます。
例えば:
Source source = new StreamSource(new File("imput.xml"));
Source style = new StreamSource(new FileInputStream("style-fo.xsl"));
TransformerFactoryImpl saxon = new TransformerFactoryImpl();
Transformer transformer = saxon.newTransformer();
transformer.transform(source, new StreamResult(System.out));
xsl-fo スタイル シートを使用して in.xml ドキュメントを xml-fo に変換し、コンソールに出力します。