生成XSL FO

时间:2010-01-08 09:07:12

标签: xml msxml xsl-fo

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

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

谢谢, Aiwee

2 个答案:

答案 0 :(得分:4)

你不能自动。

原始XSL规范分为3个单独的规范:

  1. 转换(XSLT)
  2. 格式化/显示文档(XSL:FO)
  3. 查询xml(XPATH)
  4. 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

答案 1 :(得分: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并在控制台上打印。

相关问题