第1章 XML的诞生 1
1.1 XML的定义 1
1.1.1 什么是置标语言 1
1.1.2 什么是XML 3
1.2 为什么要发展XML 7
1.2.1 HTML的缺点和不足 7
1.2.2 XML良好的可扩展性 8
1.2.3 XML内容与形式的分离 9
1.2.4 XML的其他优点 10
1.2.5 XML发展中的困难 11
1.2.6 XML与HTML的比较 12
1.3 XML的由来 13
1.3.1 XML的发展史 13
1.3.2 置标语言家族一览 13
1.4 XML实例 14
第2章 XML语法 19
2.1 “格式良好的”XML文档 19
2.2 XML文档的逻辑结构 20
2.2.1 整体结构 20
2.2.2 XML声明 21
2.2.3 元素 22
2.2.4 CDATA节 27
2.2.5 注释 29
2.2.6 处理指令PI 30
2.3 XML文档的物理结构 31
2.3.1 实体的定义 31
2.3.2 实体的类型 32
2.3.3 实体的使用方式 33
2.3.4 已分析实体与未分析实体 35
第3章 DTD的建立与使用 37
3.1 将DTD引入“有效的”XML文档中 37
3.1.1 DTD概述 37
3.1.2 内部DTD 39
3.1.3 外部DTD 41
3.1.4 公用DTD 43
3.2 定义元素及其后代 44
3.2.1 元素类型声明 44
3.2.2 元素及其子元素 48
3.2.3 有顺序的子元素 49
3.2.4 重复元素 50
3.2.5 成组元素 51
3.2.6 逻辑或(OR) 53
3.2.7 可选子元素 55
3.2.8 混合内容 56
3.2.9 空元素 58
3.2.10 XML元素的分类 59
3.3 定义元素属性 59
3.3.1 元素属性的定义 59
3.3.2 属性缺省值 60
3.3.3 属性类型 62
3.3.4 CDATA类型 62
3.3.5 枚举类型 62
3.3.6 ID和IDREF/IDREFS类型 63
3.3.7 NMTOKEN和NMTOKENS类型 65
3.3.8 NOTATION类型 66
3.3.9 实体属性类型ENTITY/ENTITIES 67
3.3.10 XML的两个特殊属性 70
3.4 DTD的其他规定 72
3.4.1 参数实体 72
3.4.2 DTD的条件节 73
3.4.3 DTD的注释 74
3.4.4 DTD中的声明类型 75
第4章 Schema 76
4.1 Schema的由来 76
4.2 Schema的语法 81
4.2.1 Schema声明 83
4.2.2 元素定义 83
4.2.3 元素引用 86
4.2.4 分组定义 87
4.2.5 属性定义 88
4.2.6 属性引用 90
4.2.7 数据类型 90
4.2.8 描述 94
4.3 Schema的应用 95
4.3.1 微软BizTalk电子商务Schema库 95
4.3.2 xml.org的Schema注册/资源库 99
4.4 Schema的发展 99
4.4.1 XML-Data提案 100
4.4.2 DCD提案 102
4.4.3 SOX提案 103
4.4.4 DDML提案 105
4.4.5 XML Schema工作草案 106
第5章 命名空间 110
5.1 命名空间的起源 110
5.2 命名空间的定义 112
5.2.1 命名空间的声明 113
5.2.2 合法名称的定义 114
5.2.3 合法名称的使用 115
5.3 命名空间在元素和属性上的应用 117
5.3.1 命名空间的作用域范围 117
5.3.2 缺省命名空间的应用 119
5.3.3 属性的特殊性 121
5.4 命名空间与DTD 122
5.4.1 XML命名空间不适用于DTD 122
5.4.2 XML命名空间与XML文档的有效性 123
第6章 文档显示与样式单 127
6.1 样式单概述 127
6.2 层叠样式单CSS 128
6.2.1 CSS的定义 129
6.2.2 层叠特性 138
6.2.3 使用CSS显示XML文档 139
6.3 可扩展样式单语言XSL 144
6.3.1 XSL概述 144
6.3.2 一个XSLT实例 145
6.3.3 XSLT常用句法与函数 148
6.3.4 节点匹配路径XPath 156
6.3.5 XSLT的高级应用 163
6.3.6 FO概览 167
6.4 两种样式单的比较 173
6.5 浏览器对样式单的支持 174
第7章 内码转换与多文种支持 175
7.1 字符集简介 175
7.1.1 ASCII字符集 175
7.1.2 ISO 8859字符集 176
7.1.3 Unicode字符集 177
7.1.4 UCS字符集 181
7.1.5 Unicode与UCS 182
7.1.6 同中文相关的字符集 183
7.2 通用字符集编码简介 184
7.2.1 UCS-2字符集 184
7.2.2 UCS-4字符集 184
7.2.3 UTF-8字符集 184
7.2.4 UTF-16字符集 185
7.3 XML对多文种的支持 186
7.3.1 Web与多文种 186
7.3.2 XML是Unicode的 188
7.4 用Unicode写XML文档 191
7.4.1 Unicode字符参考 191
7.4.2 Unicode与其他字符集间的转换 192
7.5 用其他字符集写XML文档 192
第8章 XML链接 195
8.1 XML链接与HTML链接 195
8.2 简单XML链接 199
8.2.1 类型属性 201
8.2.2 寻址属性 203
8.2.3 语义属性 204
8.2.4 行为属性 205
8.3 扩展XML链接 207
8.3.1 本地资源 209
8.3.2 远程资源 210
8.3.3 链接弧 210
8.3.4 title类型元素 214
8.3.5 链接库 214
8.4 XPointer语言 216
8.4.1 XPointer概述 216
8.4.2 XPointer语法 217
8.4.3 位置路径和位置集合 220
8.4.4 位置步 221
8.4.5 XPointer扩展 225
8.4.6 字符转义 229
8.5 XML Base 230
第9章 应用程序接口DOM SAX 232
9.1 应用程序接口综述 232
9.1.1 接口的由来 232
9.1.2 应用程序接口在程序开发中的地位 233
9.1.3 什么是DOM 233
9.1.4 什么是SAX 234
9.1.5 为什么DOM和SAX会并存 234
9.2 文档对象模型(DOM) 235
9.2.1 DOM简介 235
9.2.2 DOM的组成 235
9.2.3 DOM树 235
9.2.4 DOM的四个基本接口 238
9.2.5 DOM的应用 243
9.3 XML简单应用程序接口(SAX) 249
9.3.1 SAX简介 249
9.3.2 SAX分析器接口简介 249
9.3.3 利用SAX分析器获取XML文档的内容 251
9.4 编译应用程序 261
9.5 执行应用程序 261
第10章 数据库与信息交换 262
10.1 XML信息交换的类型 262
10.1.1 数据发布 262
10.1.2 数据集成 263
10.1.3 交易自动化 264
10.2 XML数据存取机制 265
10.3 XML与数据库 267
10.3.1 XML与关系数据库 267
10.3.2 XML与面向对象数据库 268
10.3.3 基于XML数据库模型分析 269
10.3.4 XML在数据库中的应用模式 270
10.4 XML数据交换技术及其应用 272
10.4.1 ADO控件技术 272
10.4.2 XMLHTTP对象技术 278
10.4.3 WDDX Web分布式数据交换技术 280
10.4.4 DB2XML转换工具 284
10.4.5 InterAccess软件包 285
10.4.6 ODBC2XML转换工具 287
10.4.7 XML Servlet软件包 287
10.4.8 XOSL转换工具 287
10.4.9 ASP2XML组件 289
10.5 数据库对XML的支持 289
10.5.1 Microsoft SQL Server数据库对XML的支持 289
10.5.2 Oracle 8i数据库对XML的支持 292
10.5.3 Informix数据库对XML的支持 294
10.5.4 XHive数据库对XML的支持 294
10.5.5 XML Repository数据库对XML的支持 294
第11章 XML相关标准 296
11.1 SGML标准体系简介 296
11.1.1 标准通用置标语言SGML 296
11.1.2 SGML标准体系框架 297
11.1.3 DSSSL标准 298
11.1.4 HyTime标准 299
11.2 XML相关标准分类 300
11.2.1 XML标准体系框架 300
11.2.2 XML基础标准及其相互关系 302
11.3 主要的国际组织 305
11.3.1 OASIS 305
11.3.2 W3C 305
11.4 阅读XML相关标准 306
11.4.1 SGML声明 306
11.4.2 DTD 308
11.4.3 Schema 310
11.5 主要XML标准简介 310
11.5.1 基本标准 310
11.5.2 XML相关应用标准 314
第12章 实用工具概览 319
12.1 XML浏览工具 319
12.1.1 Microsoft Internet Explorer 319
12.1.2 Mozilla 322
12.1.3 Amaya 323
12.2 XML编辑工具 324
12.2.1 XMLwriter 324
12.2.2 XML Spy 325
12.2.3 VisualXML 326
12.2.4 EditML 327
12.3 XSL编辑工具 328
12.3.1 eXcelon Stylus 328
12.3.2 IBM XSLEditor 330
12.4 XML分析工具 330
12.4.1 IBM XML4J 331
12.4.2 其他支持有效性检查的XML分析器 332
12.4.3 几个不支持有效性检查的XML分析器 333
12.5 图形应用工具 334
12.5.1 Microsoft Vizact 334
12.5.2 IBM SVGViewer 336
12.5.3 CSIRO SVG Viewer 337
12.5.4 支持SVG的其他工具 337
12.6 WAP应用工具 338
12.6.1 UP.SDK for WML 338
12.6.2 Nokia WAP开发包 339
12.6.3 Wappage 340
12.7 电子出版工具 340
12.7.1 Microsoft Reader 340
12.7.2 ReaderWorks standard 341
第13章 XML应用及前景 343
13.1 XML应用概述 343
13.2 身边的XML 345
13.2.1 资源描述框架RDF 346
13.2.2 频道定义格式CDF 347
13.3 电子商务 349
13.3.1 XML——电子商务应用的基石 349
13.3.2 基于XML的电子商务——基本准备就绪 351
13.3.3 基于XML的电子商务标准 352
13.4 网络出版 355
13.4.1 现状及挑战 355
13.4.2 XML的显示大家庭 356
13.4.3 电子书与OEB 360
13.5 移动通信 363
13.5.1 WAP简介 363
13.5.2 WML简介 366
13.5.3 HDML简介 367
13.5.4 WAP前景 368
13.6 XML前景展望 368
附录1 英汉术语对照表 370
附录2 参考资料 374
附录3 DOM基本接口参考 376