第0章 本书导读与随书光盘 1
0-1本书背景与目的 2
0-2本书简介 3
0-3本书范例 4
0-4浏览器的选择 5
0-5本书习题 5
0-6本书光盘使用说明 5
0-7环境设置 5
Part XML基础篇 9
第1章 XML简介 9
1-1结构化数据 10
1-1-1结构化与非结构化的数据 11
1-1-2描述数据(meta data) 13
1-1-3处理网页数据常遇到的问题 15
1-1-4数据搜索与全文检索 16
1-1-5为何需要XML 17
1-1-6使用XML标记与属性描述数据 18
1-2什么是XML 19
1-2-1 XML与W3C 19
1-2-2 XML与Web 21
1-2-3 XML与HTML的比较 22
1-2-4 XML的优缺点 24
1-2-5 XML的应用 25
1-2-6 Well-Formed XML与Validated XML 26
本章习题 26
第2章 XML相关工具简介 27
2-1 XML编辑器 28
2-2 XML校验器 29
2-2-1 Microsoft Internet Explorer 5.x (IE 5.x) 30
2-2-2 XML Validator 32
2-2-3 MSXML 35
2-2-4将Internet Explorer 5.x提升为Validated XML校验器 41
2-3-1 XSLT Viewer 44
2-3 XSL/XSLT相关工具 44
2-3-2 将Internet Explorer 5.x提升为可观看经XSL转换XML后的结果 46
本章习题 47
第3章 Well-Formed XML 49
3-1 建立第一份Well-Formed XML文件 50
3-1-1 XML的基本语法 50
3-1-2 xml与version声明 50
3-1-3根(Root)结点 53
3-1-4所有的标记必须以嵌套式(树状)排列 55
3-1-5成对的标记出现方式 58
3-1-6空的标记结尾必须加上“/” 59
3-1-7标记名称与属性的规定 61
3-1-8属性值前后必须被“″”所包围 63
3-1-9特殊字符的规定 65
3-2设计XML文件时必须的考虑 66
3-2-1标记的考虑 67
3-2-2属性的考虑 69
3-3语法 70
3-3-1用XML设计的标准语言 70
3-3-2建立属于您的语法 71
3-4使用命名空间避免冲突 72
3-4-1 XML为何需要命名空间 72
3-4-2名称空间如何解决问题 73
3-4-3在XML中如何使用命名空间 74
3-4-4 XML使用命名空间的典型——XSL与XHTML 76
本章习题 79
第4章 XML相关技术介绍 81
4-1 XML相关技术简介 82
4-1-1排版样本(Style sheets) 82
4-1-2数据绑定(Data binding) 84
4-1-3 DOM(Document Object Model) 85
4-1-4验证(Validation) 86
4-2排版样本简介 87
4-2-1在HTML中使用CSS排版样本 87
4-2-2在XML中使用CSS作为排版样本 90
4-2-4在XML中使用XSL作为排版样本 92
4-2-3 XSL排版样本 92
4-2-5使用View XSL Output调试 95
4-3在HTML中使用XML 96
4-3-1数据的传送 97
4-3-2建立XML数据岛 97
4-3-3将XML数据绑定到HTML标记 98
4-4通过DOM访问XML 103
4-4-1 DOM简介 103
4-4-2 XML文件树(XML Document Tree) 104
4-4-3 DOM对象 105
4-4-4使用DOM来浏览XML数据岛 106
4-5验证(Validation) 108
4-5-1 Well-Formed与Validated XML文件 109
4-5-2 验证技术:DTD与XML Schema 110
4-5-3 DTD简介 110
4-5-4使用DTD来验证XML文件 111
4-5-5 DTD的功能限制 113
4-5-6 XML Schema简介 114
4-5-7使用XML Schema来验证XML文件 114
本章习题 115
Part II 验证技术 119
第5章 DTD 119
5-1-1 DTD 120
5-1 DTD与ValidatedXML文件 120
5-1-2使用DTD的优缺点 121
5-1-3 Validated XML文件 122
5-1-4检查XML文件是否为Validated XML文件的工具 122
5-2内部DTD声明与外部DTD声明 123
5-2-1内部的DTD声明 123
5-2-2外部的DTD声明 125
5-2-3内部的DTD与外部DTD的合作 129
5-3元素(ELEMENT) 132
5-3-1非空元素的声明与使用 133
5-3-2空元素的声明与使用(EMPTY的使用) 136
5-3-3不做限制的元素声明与使用(ANY的使用) 139
5-4树状结构 141
5-5结构符号 142
5-5-1“()”、“,”结构符号与没有结构符号 143
5-5-2重复性符号“*”、“+” 145
5-5-3选择性符号“?”、“|” 151
5-6更复杂的文件结构与DTD声明 155
5-6-1混合型的声明 155
5-6-2递归式的声明 156
5-7实体 158
5-7-1内部实体与外部实体 159
5-7-2可拆解实体与不可拆解实体 163
5-8再谈实体 164
5-7-3实体的种类 164
5-8-1在DTD声明中使用实体引用 165
5-8-2参数型的实体引用 168
5-8-3一般型与参数型实体引用的合作 169
5-8-4多个外部DTD的合作方式 171
5-9其他命令 173
5-9-1备注 173
5-9-2 IGNORE与INCLUDE 174
5-9-3 CDATA关键字 175
本章习题 177
第6章 DTD的属性声明 179
6-1-2属性的声明语法 180
6-1元素的属性 180
6-1-1属性使用上的Well-Formed限制 180
6-1-3属性(值)类型 181
6-1-4属性的默认值类型 181
6-2细说属性值类型 182
6-2-1 CDATA 182
6-2-2 Enumerated 184
6-2-3 NMTOKEN 186
6-2-4 NMTOKENS 188
6-2-5 ENTITY 189
6-2-6 ENTITIES 193
6-2-7 NOTATION 195
6-2-8 ID 196
6-2-9 IDREF 198
6-2-10 IDREFS 202
6-3细说属性默认值类型 204
6-3-1 #IMPLIED 204
6-3-2 #REQUIRED 205
6-3-3 #FIXED 208
6-3-4特定的默认字符串 211
6-4-1 xml:space默认属性 216
6-4默认的属性名称 216
6-4-2 xml:lang默认属性 218
本章习题 220
第7章 XML Schema 223
7-1 XML Schema简介 224
7-1-1 XML Schema在W3C的审议进度 224
7-1-2 XML Schema与DTD 224
7-2 XML Schema的基础 226
7-2-1 XML Schema的基础语法 226
7-2-2 W3C与Microsoft的XML Schema 227
7-2-3指定XML Schema 227
7-3-1 XML元素声明
7-3 XML Schema的结构(元素)声明 229
7-3-2 XML子元素声明
7-3-3组元素
7-3-4属性声明
7-3-5元素属性声明
7-4 XML Schema的数据类型声明 244
7-4-1数据类型种类 244
7-4-2数据类型的声明(直接声明) 246
7-4-3数据类型的声明(使用
本章习题 251
第8章 ASP与XML 255
Part III ASP与XML 255
8-1静态与动态的XML数据 256
8-1-1数据的对应 257
8-1-2浏览器与网页服务器的沟通 258
8-2 ASP简介 259
8-2-1 ASP的运行原理 259
8-2-2 ASP的内建对象 260
8-2-3 ASP的语法与范例 261
8-2-4使用Form传送数据 263
8-2-5 ASP接收与返回数据 264
8-2-6存储用户信息 265
8-3-2通过ADO连接数据库 268
8-3-1 ADO简介 268
8-3 ASP与数据库集成应用 268
8-2-7网上书店案例实作(一)——1 268
8-3-3 Recordset的概念与使用 270
8-3-4 ASP返回HTML格式数据 275
8-4 ASP与XML 277
8-4-1设置ContentType 277
8-4-2 ASP返回XML的数据 278
8-4-3 Recordset与XML 281
8-4-4网上书店案例实作(一)——2 283
本章习题 283
第9章 XSL与XML 285
9-1通过XSL转换XML文件 286
9-1-1 XSL处理器(XSL Processor) 287
9-1-2 转换与格式化排版 287
9-1-3 XSL的主要概念 289
9-1-4 View XSL Output 289
9-2如何使用XSL排版样本 291
9-3 Xpath路径表示法 293
9-3-1 XPath简介 293
9-4模板(template)的使用方法 295
9-4-1xsl:stylesheet元素 295
9-4-2模板(xsl:template元素)与模板对应原则 296
9-4-3xsl:for-each元素 301
9-4-4 xsl:apply-templates元素(应用模板) 304
9-4-5 xsl:value-of元素(取出XML元素或属性数据) 307
9-5在输出中添加XML数据 310
9-5-1 xsl:comment元素(加入注释) 310
9-5-2 xsl:copy元素(复制数据) 313
9-5-3 xsl:attribute元素(添加属性) 314
9-5-4 xsl:element元素(添加标记) 318
9-6 XSL的条件语句控制功能 321
9-6-1 xsl:if元素 321
9-6-2 xsl:choose、xsl:when、xsl:otherwise元素 325
本章习题 330
9-7网上书店案例实作(二) 330
第10章 XML数据岛 333
10-1浏览器与数据访问 334
10-1-1服务器传送数据 334
10-1-2在客户端中使用DSO 336
10-1-3数据与显示 337
10-1-4内嵌与对外引用的XML DSO 338
10-2数据绑定(Data Binding) 339
10-2-1 XML与ADO Recordset 339
10-2-2 DHTML标记与数据绑定 340
10-2-3使用Table显示多条数据 343
10-2-4读取重复性数据 346
10-2-5读取XML属性 348
10-3数据的控制与处理 351
10-3-1通过Recordset的函数来浏览XML数据岛 351
10-3-2动态改变DHTML标记内容 354
10-3-3 DSO的事件 354
10-3-4搜索、排序、修改XML数据岛的数据 355
10-4网上书店案例实作(三) 358
本章习题 358
第11章 XML DOM 359
11-1 DOM与XML 360
11-1-1 XML数据与XML校验器 360
11-1-2各种DOM对象与树状结构 361
11-1-3 DOM树的结点 362
11-1-4 W3C与微软的DOM 362
11-2访问XML DOM树 363
11-2-1访问XML数据 363
11-2-2访问根元素(documentElement属性) 364
11-2-3浏览DOM树中的各个结点 366
11-2-4浏览结点列表(Nodelist)中的结点 367
11-2-5与结点内容有关的属性 370
11-3 DOM与XSL 378
11-3-1通过DOM在客户端动态指定XSL排版样本 378
11-3-3网上书店案例实作(四)——1 382
11-3-2通过DOM在服务器端动态指定XSL排版样本 382
11-4错误处理(parseError属性) 383
11-5元素与属性的访问(可使用XPath) 385
11-5-1访问元素结点(getElamentsByTagName) 385
11-5-2选择元素(selectSingleNode、selectNodes) 388
11-5-3访问元素内容 390
11-5-4建立、删除或取代元素结点 393
11-5-5访问属性 397
11-5-6建立或删除属性 403
11-6通过DOM来显示XML数据 409
11-6-1再谈XSL(XSL的功能限制) 409
11-5-7网上书店案例实作(四)——2 409
11-6-2使用字符串存放显示的内容 412
11-6-3 XML数据的变量运算 414
11-6-4读取多个XML数据源 415
11-6-5显示字符串 416
11-6-6网上书店案例实作(四)——3 417
本章习题 417
第12章 XMLHTTP 419
12-1客户端的准备 420
12-1-1 XML网站架构 420
12-1-2从客户端将XML传送到服务器 421
12-1-3建立XML数据包内容 421
12-1-4复制XML DOM树 422
12-2-1 XMLHTTP对象初始化 425
12-2传送XML数据到服务器(XMLHTTP对象) 425
12-2-2送出XML数据到服务器(open与send) 426
12-2-3网上书店案例实作(五)——1 428
12-3服务器端对XML的处理 428
12-3-1加载XML数据 429
12-3-2使用XML数据更新数据库 429
12-4返回信息 432
12-4-1返回信息的种类 433
12-4-2返回静态XML文件 433
12-5-1接收HTML网页返回信息 434
12-4-3返回动态XML文件 434
12-5接收返回信息 434
12-5-2接收XML格式的返回信息 436
12-5-3网上书店案例实作(五)——2 439
本章习题 439
第13章 动态验证 441
13-1验证的重要性 442
13-1-1为何会出现不合法的XML文件 442
13-1-2处理不合法的XML文件 443
13-2 XML Schema Extension与DOM 443
13-2-1 XML Schema Extension 443
13-2-2通过DOM获取XML Schema与XML Schema Extension 445
13-3动态验证 446
13-3-1在客户端做动态验证设置 446
13-3-2在服务器做动态验证设置 447
13-3-3在服务器执行动态验证 447
13-3-4 ParseError对象 451
13-3-5网上书店案例实作(六) 454
本章习题 455
Part IV 案例实作篇 459
第14章 网上书店案例实作(一)【动态产生XML文件】 459
14-1建立网上书店基本架构与功能 460
14-1-1建立网上书店网站 460
14-3-2 Form的练习 463
14-3-3 ASP接收与返回信息 465
14-2从数据库查询所需信息并动态返回XML文件 466
14-2-1通过ADO访问数据库数据 466
14-2-2返回XML网页 469
14-2-3返回每一本书的更多信息 471
14-2-4处理多作者的方法 472
第15章 网上书店案例实作(二)【XSL排版样本应用】 475
15-1建立与使用XSL排版样本 476
15-2在XSL中建立一个HTML表格以显示查询结果 479
15-2-1建立HTML表格并取出XML网页数据 480
15-2-2处理多作者的问题 482
15-3建立超链接 484
15-4显示图片 487
15-5显示 490
第16章 网上书店案例实例(三)【XML数据岛应用】 493
16-1动态建立XML数据岛与数据绑定 494
16-1-1向数据库要求获取书籍详细数据 494
16-1-2制作XML数据岛与数据绑定 497
16-2使用嵌套表格显示XML数据岛的重复性数据 500
16-2-1建立多条作者数据 500
16-2-2使用嵌套表格连接多条作者数据 502
第17章 网上书店案例实作(四)【XML DOM应用】 505
17-1-1通过DOM对象读取XML数据岛的数据 506
17-1在客户端通过DOM对象转换XML数据 506
17-1-2建立转换的XSL 510
17-1-3执行转换 513
17-2增加订购数量新元素 515
17-2-1添加<数量>元素 515
17-2-2添加订购项目 517
17-2-3处理相同订购项目问题 523
17-3通过DOM来显示XML数据 526
17-3-1添加OrderView网页 527
17-3-2读取XML数据岛内容并显示在HTML网页中 529
17-3-3统计XML数据岛内的数据 531
第18章 网上书店案例实作(五)【使用XMLHTTP对象】 533
18-1从客户端利用XMLHTTP传送XML数据到服务器 534
18-1-1建立XML数据包 534
18-1-2复制XML元素结点 537
18-1-3传送XML数据包 538
18-1-4清除订单 540
18-2服务器端处理接收到的XML数据包 541
18-2-1连接数据库 542
18-2-2接收XML数据包 544
18-2-3在服务器端处理XML数据 545
18-2-4返回XML数据到客户端 547
18-2-5客户端对XML的处理 552
18-2-6修改库存量 555
第19章 网上书店案例实作(六)【动态验证技巧】 559
19-1建立验证用的XML Schema 560
19-2动态验证所接收到的XML数据包 563
19-2-1动态指定验证依据与实施验证 563
19-2-2添加验证错误的错误信息种类 566
19-2-3客户端显示验证错误信息 569
附录A 安装范例与数据库 573
附录B Microsoft XML DOM的方法与属性 581
附录C XML的EBNF语法 587
附录D ISO-639 593
附录E 本书习题参考答案 597