是否有任何 XSLT 解析器(如 MSXML 4.0)帮助在 XSL 转换过程中检索 XSL FO 文档?
换句话说,我如何从 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 有一节介绍这两个单独的规范如何相互帮助:
您可以为此使用简单的 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 并在控制台上打印。