XSL-FO 文档结构
XSL-FO 文档是带有输出信息的 XML 文件
XSL-FO 文档
XSL-FO 文档是带有输出信息的 XML 文件。它们包含着有关输出布局以及输出内容的信息。
XSL-FO 文档存储在以 .fo 或 .fob 为后缀的文件中。以 .xml 为后缀存储的 XSL-FO 文档也很常见,这样做的话可以使 XSL-FO 文档更易被 XML 编辑器存取
我们推荐使用
.xml
作为文件后缀,不然很多浏览器会下载而不是显示它们的内容
XSL-FO 的常用结构
XSL-FO 的文档通常长的类似这样:
<?xml version="1.0" encoding="UTF-8"?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> <fo:simple-page-master master-name="A4"> <!-- Page template goes here --> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="A4"> <!-- Page content goes here --> </fo:page-sequence> </fo:root>
- XML 声明: XSL-FO 文档属于 XML 文档,因此也需要以 XML 声明开头
<?xml version="1.0" encoding="UTF-8"?>
- XSL-FO 根节点:一般以
<fo:root>
作为 XSL-FO 文档的根节点
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <!-- 此处是 XSL-FO 文档的内容 --> </fo:root>
- XSL-FO 命名空间:我们一般在定义 XSL-FO 根节点的同时声明 XSL-FO 的命名空间 ,
W3C
推荐的 XSL-FO 命名空间是
http://www.w3.org/1999/XSL/Format
所以根节点一般长的这样
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <!-- 此处是 XSL-FO 文档的内容 --> </fo:root>
- XSL-FO 一般包含一个或多个页面模板,可以用
<fo:layout-master-set>
来包含它们:
<fo:layout-master-set> <!-- 此处是所有的页面模板 --> </fo:layout-master-set>
- 每一个页面模板都用
<fo:simple-page-master>
来定义,每个模板须有一个唯一的名称,用master-name
属性来定义
<fo:simple-page-master master-name="A4"> <!-- 此处是某一个页面模板 --> </fo:simple-page-master>
- 一个
XSL-FO
文档可以包含 一个或多个<fo:page-sequence>
节点来定义可描述页面的内容,master-reference
属性使用相同的名称来引用simple-page-master
模板
<fo:page-sequence master-reference="A4" > <!-- 此处是页面内容 --> </fo:page-sequence>
master-reference 的值 "A4" 实际上并没有描述某个预定义的页面格式 它仅仅是一个名称。您可以使用任何名称,比如 "MyPage"、"MyTemplate" 等等