我想要在xsl模板中使用输入参数的解决方案吗?并且输入参数值应该从java类中传递。有可用的解决方案吗?请尽快回复。
发布于 2015-01-28 17:52:41
应用xslt转换与FOP无关;它是XSLT处理器的工作(Xalan,Saxon,.)。因此,如何用java代码传递样式表参数取决于XSLT处理器,而不是FOP。
为了方便用户,FOP中包含了Xalan,FOP可以接受xml + xslt输入。
FOP的网站有一个关于java嵌入的详细页面,这个例子应该涵盖您的用例(这些示例也包含在examples/java/embedding/文件夹中的FOP发行版中)。
这个引用自链接示例的小片段展示了如何设置参数:
import java.io.File;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamSource;
...
File xsltfile = new File(baseDir, "path/to/you/stylesheet.xsl");
// Setup XSLT
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(new StreamSource(xsltfile));
// Set the value of a <param> in the stylesheet
transformer.setParameter("yourParameterName", "yourVvalue");
...发布于 2015-01-28 20:56:44
您目前如何通过命令行命令调用FOP?如果是这样的话,就有一个param参数来将值传递给XSLT样式表参数。见这里。
https://stackoverflow.com/questions/28164661
复制相似问题