XSL-FO と組み合わせて Apache FOP を使用して、XML をフォーマットされた PDF に変換しています。現在、Java で次のメソッドを使用しています (メソッドがブール値を返さないという事実は無視してください)。
public boolean Transform() throws TransformerException, FOPException
{
Transformer lTransformer;
java.io.ByteArrayOutputStream lOutStream = new java.io.ByteArrayOutputStream();
FopFactory lFopFactory = FopFactory.newInstance();
FOUserAgent lFOAgent = lFopFactory.newFOUserAgent();
lTransformer = getTransformer(mXsltSource); // returns a new Transformer
Fop fop = lFopFactory.newFop(mMimeOut, lFOAgent, lOutStream);
Result res = new SAXResult(fop.getDefaultHandler());
lTransformer.transform(mSource, res); // transforms xml source to formatted XSL-FO transform
}
ただし、「res」を使用して「lTransformer.transform(StreamSource, Result)」メソッドが正しく実行されるようにする方法がわかりません (それが Result オブジェクトの目的であると想定しています)。transform メソッド、Result クラス、SAXResult クラスの javadoc を調べましたが、あまり役に立ちませんでした。誰でもこれについて洞察を提供できますか?
TL;DR; javax.xml.transform.Transformer.transform(StreamSource, Result)でResult を渡す目的は何ですか?また、これを使用して操作が正常に完了したことを確認するにはどうすればよいですか?