第1章 可扩展标记语言——XML 1
1.1 XML基础 1
1.1.1 XML发展简史 1
1.1.2 与XML相关的技术 2
1.1.3 XML文档的结构 2
1.1.4 XML文档的约束条件 4
1.1.5 XML术语 5
1.1.6 XML处理程序 5
1.2 XML语法 5
1.2.1 XML基本语法规则 5
1.2.2 序(Prolog) 11
1.2.3 元素(Element)和标签(Tag) 13
1.2.4 属性(Attribute) 16
1.2.5 字符数据 19
1.2.6 注释 21
1.2.7 字符引用(Character Reference) 22
1.2.8 实体引用(Entity Reference) 25
1.3 本章习题 27
第2章 文档类型定义——DTD 29
2.1 在XML文档中应用DTD 29
2.1.1 通过DTD验证XML文档的有效性 29
2.1.2 在XML文档中引入DTD 30
2.2 定义元素 31
2.2.1 元素的基本定义方法 32
2.2.2 元素内容 33
2.2.3 子元素出现的重复性 40
2.3 定义属性 40
2.3.1 属性默认值 41
2.3.2 属性类型 45
2.4 实体引用 54
2.4.1 实体的定义和引用方法 54
2.4.2 外部实体 56
2.4.3 参数实体 58
2.5 条件节 60
2.6 本章习题 62
第3章 XML名称空间 65
3.1 XML名称空间的基本概念 65
3.1.1 XML名称空间的作用及表现形式 65
3.1.2 名称与IRI 66
3.2 XML名称空间语法 67
3.2.1 声明XML名称空间 67
3.2.2 名称空间与元素 70
3.2.3 名称空间与属性 73
3.3 XML名称空间与DTD文档验证 76
3.3.1 XML名称空间在DTD中的用法 76
3.3.2 名称空间与实体 77
3.4 本章习题 80
第4章 XML模式——XML Schema 82
4.1 XML Schema简介 82
4.1.1 XML Schema总览 82
4.1.2 XML Schema与DTD 83
4.1.3 与XML Schema相关的名称空间 84
4.1.4 XML Schema的引用方法 85
4.1.5 XML Schema的主要组成部分 91
4.2 XML Schema中的类型 94
4.2.1 简单类型 94
4.2.2 复杂类型 95
4.3 约束条件 99
4.3.1 出现次数 99
4.3.2 数值范围 100
4.3.3 枚举 103
4.3.4 模式匹配 104
4.4 本章习题 104
第5章 层叠式样式——CSS 105
5.1 CSS简介 105
5.1.1 CSS规范与版本 105
5.1.2 引用CSS 105
5.2 样式选择符 108
5.2.1 选择元素 110
5.2.2 选择属性 116
5.2.3 伪类 119
5.2.4 伪元素 120
5.3 元素表现方式 122
5.3.1 段落-block 122
5.3.2 列表-list-item 122
5.3.3 隐藏-none 126
5.3.4 表格-table 128
5.4 文字表现方式 130
5.4.1 文本样式 130
5.4.2 字体样式 134
5.4.3 文字输出的矩形模式 135
5.5 色彩与背景图形表现方式 137
5.5.1 色彩 137
5.5.2 背景图形 139
5.6 本章习题 144
第6章 文档寻址语言——XPath 147
6.1 XPath简介 147
6.1.1 XPath规范与版本 147
6.1.2 XPath数据类型 147
6.2 XPath表达式 149
6.2.1 位置路径与基本路径表达式 149
6.2.2 谓词 155
6.2.3 轴 159
6.3 XPath基本运算与函数 165
6.3.1 XPath运算符 165
6.3.2 XPath的核心函数 166
6.4 本章习题 177
第7章 文档转换——XSLT 179
7.1 XSLT简介 179
7.1.1 XSLT的作用与工作方式 179
7.1.2 引用XSLT 179
7.2 模板规则 185
7.2.1 模板规则与源XML文档匹配 185
7.2.2 构建HTML 189
7.2.3 模板规则模式 197
7.2.4 模板规则的优先级 200
7.3 数据与模板处理 208
7.3.1 处理重复结构 208
7.3.2 排序 209
7.3.3 条件处理 213
7.3.4 创建数字序号 217
7.3.5 使用变量和参数 222
7.3.6 模板的导入覆盖 226
7.4 本章习题 229
第8章 XSL格式化对象——XSL-FO 230
8.1 XSL-FO简介 230
8.1.1 XSL-FO与XSL 230
8.1.2 XSL-FO文档与页面结构 230
8.2 文本输出与页面设置 235
8.2.1 区块(fo:block) 235
8.2.2 水平线(fo:leader) 239
8.2.3 列表(fo:list-block) 242
8.2.4 表格(fo:table-and-caption) 247
8.2.5 使用页面边缘部分 254
8.3 分页控制 255
8.3.1 分页 256
8.3.2 页码分配 258
8.4 XSLT辅助生成XSL-FO 265
8.5 本章习题 271
第9章 简单XML编程接口——SAX2 275
9.1 SAX与XML基于事件的解析模式 275
9.1.1 XML基于事件的解析模式 275
9.1.2 Java SAX编程接口 278
9.2 SAX文档解析实例 279
9.2.1 文档内容解析 279
9.2.2 与DTD相关的解析 288
9.3 解析器特性和解析属性 294
9.3.1 解析器特性 295
9.3.2 解析属性 298
9.4 本章习题 301
第10章 文档对象模型——DOM 302
10.1 DOM与XML基于树状结构的解析模式 302
10.1.1 XML基于树状结构的解析模式 302
10.1.2 Java DOM编程接口 303
10.2 DOM文档处理实例 305
10.2.1 DOM解析器的默认操作方式 306
10.2.2 节点识别与处理 308
10.2.3 动态修改DOM树 314
10.3 本章习题 317
附录A XML开发工具Editix简介 319
A.1 Editix下载、安装与用户界面 319
A.2 编辑器使用方法 321
A.2.1 编辑DTD和XML文件 321
A.2.2 编辑XML Schema文件 325
A.2.3 测试XPath路径表达式 330
A.2.4 XSLT文档转换 332
附录B Apache FOP使用方法简介 335
B.1 Apache FOP下载与安装 335
B.2 FOP命令行工作方式 335
附录C 习题解答 338