XSLFO & XSLT 学习笔记

1. XSLFO

XSL Formatting Objects(XSLFO)是一种 XML 标准,用于描述文档以及如何在屏幕或纸张上进行呈现。XSLFO文件是由标记语言编写的,它们指示渲染器如何将元素和属性呈现为书籍,简历,电子表格或其他形式的输出。

XSLFO 实例

以下是一个简单的 XSLFO 文件实例,它定义了一个包含一些段落的页面:

xmlCopy Code
<?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="Page" page-height="11in" page-width="8.5in" margin-top=".5in" margin-bottom=".5in" margin-left=".5in" margin-right=".5in"> <fo:region-body/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="Page"> <fo:flow flow-name="xsl-region-body"> <fo:block>Hello, world!</fo:block> <fo:block>Here is some text on a new line.</fo:block> </fo:flow> </fo:page-sequence> </fo:root>

这个文档指定一个页面布局,定义了一个页序列,并在页面中添加两个段落。渲染器将这个文件呈现为一个 PDF 文件或其他格式。

2. XSLT

XSLT(eXtensible Stylesheet Language Transformations)是一种 XML 标准,用于将 XML 文档转换为另一种 XML 文档或其他格式的文档,如 HTML、PDF 或纯文本。XSLT 使用模板和表达式来定义转换过程,并支持条件语句和循环语句。

XSLT 实例

以下是一个简单的 XSLT 文件实例,它将一个包含学生姓名和成绩的 XML 文档转换为 HTML 表格:

xmlCopy Code
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <table> <tr> <th>Name</th> <th>Score</th> </tr> <xsl:for-each select="students/student"> <tr> <td><xsl:value-of select="name"/></td> <td><xsl:value-of select="score"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>

这个 XSLT 文件将一个名为 students 的 XML 元素中的每个 student 元素转换为一个 HTML 表格行,并在每行中包含学生的姓名和成绩。

以上是 XSLFO 和 XSLT 的学习笔记和实例,希望对您有所帮助。