欢迎您 本站地址:  

XSL-FO


XSL-FO 的输出位于块区域中。


XSL-FO 页面(Page)、流(Flow)以及块(Block)

内容"块"会"流"入"页面"中,然后输出到媒介。

XSL-FO 输出通常被嵌套在 <fo:block> 元素内,<fo:block> 嵌套于 <fo:flow> 元素内,<fo:flow> 嵌套于 <fo:page-sequence> 元素内:

<fo:page-sequence>
<fo:flow flow-name="xsl-region-body">
<fo:block>
<!-- Output goes here -->
</fo:block>
</fo:flow>
</fo:page-sequence>


块区域的属性

块是位于矩形框中的输出序列:

<fo:block border-width="1mm">
This block of output will have a one millimeter border around it.
</fo:block>

由于块区域是矩形框,所以可共享许多公共的区域属性:

Content Margins and Padding

space beforespace after 是块与块之间起分割作用的空白。

margin 是块外侧的空白区域。

border 是区域外部边缘的矩形。其四个边均可有不同的宽度。它也可被填充为不同的颜色和背景图像。

padding 是位于 border 与 content 区域之间的区域。

content 区域可包含实际的内容,比如文本、图片、图形等等。


块边距(Block Margin)


块边框(Block Border)

边框样式属性:

边框颜色属性:

边框宽度属性:


块填充(Block Padding)


块背景(Block Background)


块样式属性(Block Styling Attributes)

块是可被单独样式化的输出序列:

<fo:block font-size="12pt" font-family="sans-serif">
This block of output will be written in a 12pt sans-serif font.
</fo:block>

字体属性:

文本属性:


实例

<fo:block font-size="14pt" font-family="verdana" color="red"
space-before="5mm" space-after="5mm">
RUNOOB
</fo:block>

<fo:block text-indent="5mm" font-family="verdana" font-size="12pt">
At RUNOOB you will find all the Web-building tutorials you
need, from basic HTML and XHTML to advanced XML, XSL, Multimedia and WAP.
</fo:block>

结果:

RUNOOB

At RUNOOB you will find all the Web-building tutorials you need, from basic HTML and XHTML to advanced XML, XSL, Multimedia and WAP.

请看上面的实例,如果要生成一个拥有许多标题和段落的文档,那么将会需要非常多的代码。

通常,XSL-FO 文档不会像我们刚才所做的那样对格式化信息和内容进行组合。

通过 XSLT 的些许帮助,我们就可以把格式化信息置入模板,然后编写出更纯净的内容。

您会在本教程后面的章节学习到如何使用 XSLT 模板来组合 XSL-FO。


小库提示

扫描下方二维码,访问手机版。