XSLT和XSL-FO有什么区别?
我读过的每个资源都和他们一样,就像他们是1,或者至少非常紧密。
我想知道这个问题的基础,因为我认为这很容易回答,但是一旦你去这里:
http://www.w3.org/TR/xsl/它变得清楚,它实际上是一个好问题 – 因为几乎页面上的第一件事是这个声明:
This specification defines the features and Syntax for the Extensible Stylesheet Language (XSL),a language for expressing stylesheets. It consists of two parts:
- a language for transforming XML
documents (XSLT),and- an XML vocabulary for specifying
formatting semantics.
然而,回到现实世界中,XSLT(这也是大多数人会认为你的意思是XSL)是一种将XML文档转换为其他东西的方法 – 其他更常见的不是另一个结构良好的文档,也可能格式化为XML(虽然我使用XSLT来渲染XML到csv和普通(ish)文本)。
另一方面,XSL-FO是关于格式化 – 以相当严格的方式在页面或一系列页面上布置内容。它非常有用,因为它允许您管理分布在多个页面上的内容,它可以相对简单地指定页面(甚至和奇数页面)的格式,包括页眉,页脚,边框,列等,并让您的内容流入。因此,将采用例如XML格式的数据加载,然后使用XSLT将该数据转换成由XSL-FO组成的文档,该文档又使用适当的工具(例如用于打印的PDF或其他分发方式)来呈现。
我的用例是采取一堆表格数据,将数据导出为XML,将其转换为XSL-FO,并从那里到PDF,打印机将所述PDF转换为500页目录。在XSL-FO中,一个人想要页码,在特定情况下的分页符,有一个内容表和一个索引(每个都基于特定的元素)和渲染过程(到PDF)处理填充页码全面。
希望你现在有点不困惑..