2

是否有任何 XSLT 解析器(如 MSXML 4.0)帮助在 XSL 转换过程中检索 XSL FO 文档?

换句话说,我如何从 XML 和 XSL 文件中获取 XSL FO 文件?

谢谢,艾薇

4

2 回答 2

4

你不能自动。

最初的 XSL 规范被分成 3 个独立的规范:

  1. 转换 (XSLT)
  2. 格式化/显示文档 (XSL:FO)
  3. 查询 xml (XPATH)

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 有一节介绍这两个单独的规范如何相互帮助:

http://www.w3schools.com/xslfo/xslfo_xslt.asp

于 2010-01-08T09:14:27.787 回答
0

您可以为此使用简单的 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 并在控制台上打印。

于 2010-01-08T09:21:47.460 回答