预备篇 1
第1章 XML概述 2
1.1 Internet的历史 3
1.2 XML的出现和发展 3
1.2.1 Web语言的发展 3
1.2.2 XML的出现 5
1.2.3 XML的好处 6
1.2.4 XML的发展前景 8
1.3 本章小结 9
1.4 问题与提示 10
第2章 XML准备 11
2.1 超文本语言HTML 12
2.2 XML工具 19
2.2.1 编辑工具 19
2.2.2 浏览工具 22
2.2.3 转换工具 24
2.2.4 解析工具 24
2.3 一个XML实例 25
2.4 本章小结 30
2.5 问题与提示 30
开始篇 31
第3章 XML的基本语法 32
3.1 XML文档 33
3.1.1 文档的结构 33
3.1.2 文档类型声明 33
3.1.3 文档的数据结构定义 34
3.1.4 文档的主体 34
3.1.5 文档的一致性和有效性 35
3.1.6 文档中的特殊符号 35
3.2 元素 36
3.2.1 起始和结束标记 36
3.2.2 空标记 37
3.2.3 字符数据 38
3.2.4 元素的属性 38
3.2.5 注释 39
3.2.6 CDATA 41
3.3 用XML存储数据 43
3.4 本章小结 44
3.5 问题与提示 44
第4章 用DTD实现数据结定义 46
4.1 DTD的声明和引用 47
4.1.1 DTD的声明 47
4.1.2 外部DTD的引用 48
4.1.3 内外DTD的结合 50
4.1.4 标签的使用方法 52
4.2 数据类型 53
4.2.1 #PCDATA 53
4.2.2 空元素 53
4.2.3 ANY 53
4.2.4 嵌套的选择结构 54
4.2.5 混合类型的应用 55
4.3 ENTITY的声明和引用 56
4.3.1 内部实体的设定与使用 56
4.3.2 外部实体的设定与使用 58
4.3.3 参数型实体的设定与使用 59
4.3.4 实体的引用规则 60
4.4 ATTRIBUTE 61
4.4.1 ATTRIBUTE的设定 61
4.4.2 ATTRIBUTE的类型 63
4.4.3 ATTRIBUTE的内定值 65
4.5 本章小结 66
4.6 问题与提示 66
第5章 用schema实现元素声明 68
5.1 XML schema简介 69
5.1.1 XML schema是什么 69
5.1.2 XML schema的优点 69
5.1.3 一个schema的预览 71
5.2 XML schema声明元素 73
5.2.1 schema根元素 73
5.2.2 用element声明简单的元素 74
5.2.3 声明包含子元素的元素 75
5.2.4 通过元素的引用的方法声明元素 77
5.2.5 声明空元素 78
5.2.6 声明混合内容的元素 79
5.2.7 声明any内容的元素 80
5.2.8 元素出现的限制 81
5.2.9 子元素的顺序 82
5.2.10 选择型的子元素 83
5.2.11 声明元素组 84
5.3 XML schema声明元素的属性 85
5.3.1 声明元素的属性 85
5.3.2 通过引用声明属性 87
5.3.3 声明any内容的属性 88
5.3.4 声明属性分组 88
5.3.5 属性出现的限制 89
5.4 XML schema的数据类型 90
5.4.1 内建数据类型 90
5.4.2 facets 93
5.4.3 派生数据类型 95
5.5 schema的引用 102
5.6 本章小结 103
5.7 问题与提示 103
第6章 名称空间 106
6.1 为什么引入名称空间 107
6.2 名称空间简介 108
6.3 名称空间的使用 110
6.3.1 声明名称空间 110
6.3.2 名称空间的范围 111
6.3.3 名称空间的缺省 111
6.4 schema中的名称空间 112
6.4.1 有效性的要求 112
6.4.2 schema与名称空间结合应用 113
6.5 本章小结 118
6.6 问题与提示 119
第7章 用CSS实现XML的显示 121
7.1 CSS简介 122
7.1.1 什么是CSS 122
7.1.2 CSS结构和规则 123
7.1.3 一些常用的CSS属性 125
7.2 样式表套用 146
7.2.1 套用的方法 146
7.2.2 样式的继承性 148
7.3 CSS显示XML的优点和局限 150
7.4 本章小结 151
7.5 问题与提示 151
第8章 用XSL实现XML的显示 153
8.1 XSL简介 154
8.1.1 XSL声明与套用 154
8.1.2 XSL中应用HTML 156
8.1.3 在XSL中应用CSS 158
8.2 XSL的数据处理元素 161
8.2.1 xsl:stylesheet 161
8.2.2 xsl:value-of 162
8.2.3 xsl:for-each 164
8.2.4 xsl:copy 168
8.2.5 xsl:attribute 169
8.2.6 xsl:element 171
8.3 样版(TEMPLATE)的应用 173
8.3.1 xsl:template 173
8.3.2 xsl:apply-templates 174
8.4 XSL的其他元素 179
8.4.1 xsl:comment 179
8.4.2 xsl:node-name 182
8.4.3 xsl:script 184
8.4.4 xsl:eval 185
8.4.5 xsl:variable 187
8.4.6 xsl:sort 188
8.5 本章小结 188
8.6 问题与提示 189
第9章 用XSL实现数据处理 190
9.1 标签、属性的引用 191
9.1.1 标签和属性的一般引用 191
9.1.2 “*”和“∥”的使用 192
9.1.3 标签集合的处理 196
9.2 数据的筛选 199
9.2.1 元素名称筛选 199
9.2.2 元素内容筛选 202
9.2.3 元素属性值筛选 205
9.2.4 综合筛选 207
9.2.5 样板数据选择 209
9.3 内建函数 213
9.3.1 index 213
9.3.2 formatindex 215
9.4 本章小结 218
9.5 问题与提示 218
第10章 用数据岛实现数据存储管理 219
10.1 HTML与XML的结合 220
10.1.1 HTML中自定义标签 220
10.1.2 HTML中使用数据岛 224
10.2 数据岛(Data Island) 226
10.2.1 数据岛的对象和属性 226
10.2.2 documentelement 228
10.2.3 childnodes 231
10.3 数据岛数据显示 234
10.3.1 数据绑定 234
10.3.2 多条数据的显示 236
10.3.3 应用表格显示数据岛 239
10.4 本章小结 243
10.5 问题与提示 244
加速篇 245
第11章 综合实例 246
11.1 一个图书订单的例子 247
11.1.1 功能概述 247
11.1.2 编程思路与技术要点 247
11.1.3 实现步骤及讲解 247
11.1.4 最终结果 251
11.2 数据岛 256
11.2.1 功能概述 256
11.2.2 编程思路与技术要点 256
11.2.3 实现步骤及讲解 257
11.2.4 最终结果 263
11.3 回到最初的例子 274
11.3.1 功能概述 274
11.3.2 编程思路与技术要点 274
11.3.3 实现步骤及讲解 274
11.4 本章小结 279
11.5 问题与提示 279
附录 各章问题参考答案 280