XSL-FO是XML格式化对象的标准,用于将XML数据转换为PDF、打印文档等固定布局的输出格式,其中leader-pattern是控制引导符样式的核心属性,直接影响目录、索引等内容的排版美观度。

leader-pattern的基本定义
leader-pattern是XSL-FO中<fo:leader>元素的属性,用于指定引导符的图案类型。引导符通常用来连接两段内容,比如目录中的章节名称和对应页码,让页面布局更整齐。该属性的取值决定了引导符是显示为空格、点线、实线还是自定义图案。
leader-pattern的可选取值
leader-pattern的常用取值分为以下几类:
- space:引导符显示为空白字符,相当于在两个内容之间插入指定数量的空格,不会显示任何可见图案。
- rule:引导符显示为一条实线,线的样式可以通过leader-rule-style、leader-rule-thickness等属性进一步调整。
- dots:引导符显示为重复的点,是目录排版中最常用的取值,点的大小和间距由XSL-FO处理器默认设置或额外属性控制。
- use-content:引导符使用<fo:leader>元素内部指定的内容作为图案,支持自定义文本或特殊符号作为重复图案。
不同取值的代码示例
以下是不同leader-pattern取值的实际使用示例,所有代码都符合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="page" page-width="210mm" page-height="297mm">
<fo:region-body margin="20mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="page">
<fo:flow flow-name="xsl-region-body">
<!-- space取值示例:章节名和页码之间用空格分隔 -->
<fo:block>
第一章 基础概念
<fo:leader leader-pattern="space" leader-length="5cm"/>
1
</fo:block>
<!-- dots取值示例:目录常用点线引导符 -->
<fo:block>
第二章 进阶用法
<fo:leader leader-pattern="dots" leader-length="5cm"/>
5
</fo:block>
<!-- rule取值示例:实线引导符 -->
<fo:block>
第三章 实战案例
<fo:leader leader-pattern="rule" leader-length="5cm" leader-rule-thickness="1pt"/>
12
</fo:block>
<!-- use-content取值示例:自定义星号作为引导符 -->
<fo:block>
附录 参考资料
<fo:leader leader-pattern="use-content" leader-length="5cm">*</fo:leader>
25
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
使用注意事项
在实际使用leader-pattern时,需要注意以下几点:
- leader-length属性需要和leader-pattern配合使用,指定引导符的总长度,否则引导符可能无法正常显示。
- 不同XSL-FO处理器对leader-pattern的支持程度略有差异,自定义图案时建议先测试目标处理器的兼容性。
- 当使用use-content取值时,<fo:leader>元素内部的内容会被重复填充到指定的leader-length长度中,内容过长可能导致显示异常。
总结来说,leader-pattern是控制XSL-FO引导符样式的核心属性,通过选择合适的取值可以满足不同排版场景的需求,是制作规范目录和整齐文档布局的重要工具。
XSL-FOleader-patternXML格式化排版样式文档布局修改时间:2026-07-10 08:24:20