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 的学习笔记和实例,希望对您有所帮助。