1.1 XML历史简介 1
第1章 XML简介 1
1.2 剖析XML文档 4
1.2.1 XML声明 4
1.2.2 注释 4
1.2.3 标记 5
1.2.4 元素 5
1.2.5 属性 6
1.2.7 良构的XML文档和有效的XML文档 7
1.3 国际化XML 7
1.2.6 实体 7
1.4 作为元语言的XML 8
1.4.1 XML专用语言和从XML派生的标记语言 8
1.4.2 XHTML 8
1.4.3 主题领域标准:CML、MathML、MusicML 9
1.5 与XML相关的W3C标准 9
1.5.1 DTD 9
1.5.2 XML Schema 10
1.5.3 命名空间 12
1.5.4 XLink 12
1.5.5 XPointer 12
1.6小结 13
1.5.8 XSL和XSLT 13
1.5.6 XML查询 13
1.5.7 XPath 13
第2章 XSLT简介 15
2.1 什么是XSLT 15
2.2 查找结构和含义 16
2.2.1 结构化文档 16
2.2.2 XML文档层次结构 18
2.2.3 树和节点 21
2.2.4 名字和命名空间 22
2.3.1 查找数据:XPath语言 24
2.3.2 转换数据:XSLT模板 24
2.3 XSLT特性概述 24
2.3.3 创建XML元素、属性和其他对象 25
2.3.4 重用样式表逻辑 26
2.3.5 执行条件处理与重复处理 26
2.3.6 定义变量和参数 27
2.3.7 创建链接文档各部分的键 27
2.3.8 处理字符串类型、数值型和布尔型数据 28
2.4 XSLT的工作方式 28
2.4.1 模板处理 28
2.4.2 表达式处理 31
2.4.3 生成结果树 31
2.5 小结 32
3.1 XML的强大功能 33
3.1.1 文档开发和处理 33
第3章 XML与XSLT应用程序 33
3.1.2 电子商务 36
3.2 扩展XML:用于转换的可扩展样式表语言 37
3.2.1 生成表示形式 38
3.2.2 重构XML文档 38
3.3 XML/XSL应用程序的结构 39
3.3.1 XML和XSLT处理工具 39
3.3.2 单层应用程序体系结构 39
3.3.3 n层应用程序体系结构 40
3.4 小结 40
4.1 通用样式表结构 41
第4章 XSLT样式表的结构 41
4.2 XSLT版本和前向兼容模式 47
4.2.1 顶层元素 47
4.2.2 1.0版本中未定义的属性 48
4.2.3 模板中的元素 48
4.3 顶层样式表元素 49
4.3.1 xsl:import和xsl:include 50
4.3.2 xsl:strip.space和xsl:preserve-space 50
4.3.3 xsl:output 51
4.3.4 xsl:key 52
4.3.5 xsl:decimal-format 52
4.3.6 xsl:namespace-alias 53
4.3.7 xsl:attribute-set 53
4.3.8 xsl:variable和xsl:param 54
4.3.9 xsl:template 55
4.4 嵌入样式表 55
4.5 小结 57
第5章 表达式 58
5.1 XSLT和XPath表达式概述 58
5.1.1 寻址 59
5.1.2 数据类型 61
5.1.3 固有函数 62
5.2 编码XPath表达式 62
5.2.1 使用定位路径寻址 63
5.2.2 XPath和条件表达式 76
5.2.3 生成字符串值 77
5.3 XPath函数 78
5.3.1 节点集函数 78
5.3.2 字符串函数 78
5.3.3 布尔函数 79
5.3.4 数值函数 79
5.4 小结 79
第6章 模板规则 80
6.1 XSLT处理模型 80
6.2 定义和应用模板规则 81
6.3 应用冲突解决方案模板规则 84
6.4 重写模板规则 84
6.5 使用模式 86
6.6.1 节点和元素的递归处理 87
6.6 使用内置模板规则 87
6.6.2 模板模式处理 88
6.6.3 文本和属性节点处理 88
6.6.4 指令、注释和命名空间节点处理 89
6.7 使用命名模板 89
6.8 小结 91
第7章 创建XSLT结果树 92
7.1 XSLT样式表所产生的结果 92
7.2 创建结果树 93
7.2.1 从元素和属性中提取内容 95
7.2.2 动念生成元素和属性 97
7.2.3 创建文本、处理指令和注释 102
7.2.4 处理命名空间 104
7.2.5 复制节点和子树 106
7.3 执行条件处理 107
7.3.1 使用xsl:foor-each来控制循环 107
7.3.2 在XSLT中使用条件逻辑 109
7.3.3 多选项选择 111
7.4 小结 113
第8章 变量与参数 114
8.1 变量和参数定义 114
8.2 变量数据类型 115
8.2.1 数值变量和字符串变量 116
8.2.2 布尔变量 116
8.2.4 新的结果树片段数据类型 117
8.2.3 节点集变量 117
8.3 设置默认值 118
8.4 全局变量和局部变量 119
8.5 使用xsl:param 124
8.6 小结 126
第9章 创建样式表输出 127
9.1 编号输出 127
9.1.1 结果树中的编号项目 129
9.1.2 编号格式化 135
9.2 xsl:output简介 138
9.2.1 编写XML输出 139
9.3 利用xsl:message生成消息或异常输出 143
9.2.3 编写文本输出 143
9.2.2 编写HTML输出 143
9.4 小结 144
第10章 XSL/XSLT高效编程 145
10.1 排序 145
10.2 扩展 150
10.2.1 扩展元素 150
10.2.2 扩展函数 151
10.3 回退 152
10.4 键 155
10.4.1 XSLT元素xsl:key 155
10.4.2 XSLT函数key() 156
10.5 数值格式化 158
10.6 附加函数 159
10.6.1 current() 159
10.6.2 generateid() 160
10.6.3 system.property() 161
10.7 小结 161
第11章 XSLT示例 162
11.1 现实世界中的XSLT应用程序 162
11.1.1 XSLT的适用场合 162
11.1.2 XSLT的不适用场合 163
11.2 XSLT应用程序示例 163
11.2.1 在XML文档中修改数据 163
11.2.2 生成样式表 172
11.2.3 建立已生成文档间的引用 177
11.2.4 根据同一个源创建多个文档 187
11.2.5 创建国际化输出 192
11.3 小结 197
第12章 企业级开发中的XSLT 198
12.1 客户端XSLT 198
12.1.1 客户端处理XSLT的能力 199
12.1.2 使用客户端处理XSLT 199
12.1.3 支持XSLT的浏览器 199
12.1.4 正确的MIME类型 200
12.2 对联合内容的处理 201
12.3 构建独立于表示的应用程序 201
12.4 利用XSLT的B2B集成和EAI 210
12.4.1 B2B电子商务简史 211
12.4.2 XML和XSLT如何适应EAI和B2B集成 211
12.4.3 B2B问题示例 212
12.5 部署 216
12.6 小结 217
第13章 编程工具和技术 218
13.1 利用XSLT编程 218
13.1.1 文档对象模型 218
13.1.2 用于XML的简单API(SAX) 219
13.2 编程语言和XSLT 220
13.2.1 Java 221
13.2.2 C++ 222
13.2.3 Perl 223
13.2.4 与其他编程语言相关的资源 224
13.3 XSLT编程模型 224
13.3.1 批处理编程模型 224
13.3.2 树状处理模型 226
13.3.3 基于事件的处理模型 229
13.4 小结 234
附录A XSLT2和XPath2:发展中的标准 236
A.1 XSLT 1.1和XSLT 1.0的区别 236
A.2 从XSLT 1.1到XSLT 2.0的主要改变 237
附录B W3C XSL工作组简况 239
附录C XSL和XSLT资源 241
术语表 243