前言 1
第1章 XSLT概述 5
1.1 XML简介 5
1.2 创建XML文档 5
1.2.1 书写一个样板XML文档 6
1.2.2 在浏览器中打开XML文档 7
1.2.3 确认XML文档 7
1.2.4 安装相关文件 7
1.3 XML命名空间 8
1.4 模式 10
1.5 使用样式表在浏览器中显示XML 16
1.5.1 书写级联样式表 17
1.5.2 在XML文档中应用CSS 18
1.5.3 在XML文档中应用不同的样式 20
1.6 XSLT简介 21
1.7 XSL架构 22
1.7.1 格式化并转换XML文档的XSL过程 23
1.7.2 XSLT变量. 数据类型和表达式 23
1.7.3 XSLT文档示例 24
1.8 XSLT元素简介 26
1.9 XSLT元素的运用 28
1.9.1 xsl:stylesheet 28
1.9.2 xsl:template 29
1.9.3 xsl: value-of 29
1.9.4 xsl: apply-templates 30
1.9.5 xsl:import 33
1.9.6 xsl:apply-imports 33
1.9.7 xsl:with-param 33
1.9.8 xsl: output 33
1.9.9 xsl:for-each 36
1.9.10 xsl: if 37
1.9.11 xsl: attribute 37
1.9.12 xsl: attribute-set 37
1.9.13 xsl: variable 43
1.9.14 xsl:sort 45
1.9.15 xsl:otherwise 48
1.9.16 xsl: when 48
1.9.17 xsl: choose 49
1.9.18 xsl:strip-space/xsl:preserve-space 50
1.9.19 xsl:param 52
1.9.20 xsl:call-template 55
1.9.21 xsl:comment 57
1.9.22 xsl: message 57
1.9.23 xsl: text 58
1.9.24 xsl: copy 58
1.9.25 xsl: copy-of 59
1.9.26 xsl: element 60
1.9.27 xsl: number 61
1.9.28 xsl: decimal-format 62
1.9.29 xsl: key 63
1.9.30 xsl:fallback 64
1.9.31 xsl: include 65
1.9.32 xsl: processing-instruction 65
1.9.33 xsl: namespace-alias 65
1.10 小结 66
第2章 设计一个跨平台的应用程序 67
2.1 Web应用架构简介 67
2.1.1 非XML方法 68
2.1.2 XML和XSLT方法 69
2.2 应用程序结构 70
2.2.1 应用程序客户 70
2.2.2 应用程序特点 73
2.3 应用程序数据库的结构 73
2.3.1 电影表 73
2.3.2 电影礼堂表 73
2.3.3 状态表 74
2.3.4 用户表 74
2.3.5 天气表 75
2.3.6 新闻表 75
2.3.7 应用程序工作流程 75
2.4 小结 76
第3章 使用XML和SQL Server 2000的数据库交互技术 77
3.1 SQL Server 2000对XML的支持 77
3.2 使用HTTP的SQL语句 78
3.3 通过HTTP调用存储过程 82
3.4 通过HTTP使用XML模板文件 85
3.5 编写SQL Server 2000的XPath查询 90
3.5.1 在XPath查询中说明节点和轴线 90
3.5.2 XPath查询中的运算符 95
3.5.3 XPath 查询中的变量 98
3.5.4 XPath查询中的布尔函数 100
3.6 用XML检索数据的方法 101
3.6.1 RAW模式 101
3.6.2 AUTO模式 102
3.6.3 EXPLICIT模式 102
3.6.4 用XMLDATA在查询中增加一个模式 104
3.6.5 查询数据时指定样式表 105
3.7 批量装载方法 107
3.8 更新程序 110
3.8.1 使用更新程序插入数据 110
3.8.2 更新程序中的参数 112
3.8.3 从HTML窗体中邮送数据 113
3.8.4 用ADO邮送更新程序 114
3.9 小结 117
第4章 使用XML和XSLT开发无线Web应用程序 119
4.1 用XML和XSLT编写接口 119
4.1.1 编写应用软件模块 119
4.1.2 为静态数据创建XML文档 120
4.1.3 检查什么是完全格式的XML文档 124
4.2 用XSLT从XML内容中生成HTML 124
4.2.1 为主页部分写级联样式表 125
4.2.2 为主页写XSLT文档 127
4.2.3 频道部分 135
4.2.4 登录部分 137
4.2.5 连接部分 138
4.2.6 文章部分 139
4.2.7 对XML文档应用XSLT 140
4.2.8 用XSLT在浏览器中显示XML文档 140
4.3 开发天气部分 141
4.3.1 天气部分中使用XSLT的高级HTML元素的工作 142
4.3.2 XML的动态链接 145
4.4 开发门户程序的新闻部分 150
4.4.1 用查询串传递参数 151
4.4.2 在新闻部分中对动态XML内容应用XSLT 151
4.5 开发门户程序的电子邮件部分 154
4.5.1 设计电子邮件的登录格式 154
4.5.2 设计写邮件的表格 162
4.5.3 用JavaScript确认表格 166
4.6 开发电影票预订系统 170
4.6.1 显示影院清单 170
4.6.2 显示影院的详细状况 172
4.6.3 预订电影票 175
4.6.4 更新程序 182
4.6.5 确认订票结果 184
4.7 小结 184
第5章 用XSLT针对WAP客户端进行无线Web应用程序转换 185
5.1 小设备的局限性 185
5.2 为WAP门户程序设计结构 185
5.2.1 为服务内容探测浏览器类型 186
5.2.2 用XSLT将静态XML数据转换为WML 188
5.2.3 用仿真机测试XSL 190
5.3 转换天气部分 190
5.4 转换新闻部分 204
5.4.1 为新闻种类部分生成XML数据 205
5.4.2 为新闻种类部分写XSLT文档 206
5.4.3 为新闻详情部分生成XML数据 207
5.4.4 为新闻详情部分写XSLT文档 209
5.5 转换电子邮件部分 211
5.5.1 设计电子邮件部分的登录表格 211
5.5.2 用WAP客户端程序读电子邮件 214
5.5.3 为WAP客户端做写邮件部分的转换 221
5.6 转换影片预订系统 229
5.6.1 显示电影院清单 229
5.6.2 快速生成WML卡片 238
5.6.3 写订票部分接口 249
5.7 小结 255
第6章 了解HDML:一个案例的研究 257
6.1 HDML简介 257
6.1.1 WML与HDML的比较 258
6.2 市场上HDML客户机的简单浏览 259
6.2.1 移动电话 259
6.2.2 个人数字助理 259
6.3 写HDML文档 259
6.4 用HDML接受数据输入 261
6.5 在HDML中提交表格及使用动态数据 263
6.5.1 浏览不同卡片 264
6.5.2 HDML的导航控件 265
6.6 更多的HDML例子 266
6.6.1 格式化文本 266
6.6.2 HDML中的格式化说明符 267
6.7 卡片和卡片组 270
6.8 动作 277
6.9 HDML的变量 279
6.10 案例研究 287
6.11 小结 294
第7章 为HDML客户端转换无线Web应用程序 295
7.1 应用程序的框架 295
7.2 为服务内容检测浏览器 296
7.3 转换主页 298
7.4 为HDML客户端转换天气部分 299
7.5 为HDML客户端转换新闻部分 312
7.5.1 生成新闻部分的XML数据 312
7.5.2 生成新闻部分的XML 315
7.5.3 为新闻详情部分准备XSLT 316
7.6 为HDML客户端转换电子邮件部分 318
7.6.1 准备电子邮件的登录部分 318
7.6.2 在HDML设备上读邮件 320
7.6.3 转换发送邮件部分 328
7.6.4 写邮件 331
7.7 转换电影票预订系统 334
7.7.1 生成电影院列表的XML数据 334
7.7.2 电影院列表的XSLT 336
7.7.3 显示影片列表 337
7.7.4 为影片列表写XSLT代码 342
7.7.5 显示影片状况 345
7.7.6 写订票过程代码 349
7.7.7 显示状态消息 353
7.8 小结 356
第8章 使用I模式和cHDML 357
8.1 I模式介绍 357
8.2 使用I模式 357
8.3 I模式的发展趋势 358
8.4 I模式和WAP 358
8.5 HTML,WML,HDML和cHTML定义 359
8.6 cHTML介绍 360
8.6.1 cHTML的局限性和指导方针 360
8.6.2 cHTML的元素 360
8.7 案例研究 372
8.8 小结 386
第9章 用XSLT构造I模式兼容的Web应用程序 387
9.1 I模式环境的优势 387
9.2 具有I模式功能的应用程序结构 387
9.3 探测I模式浏览器 388
9.4 转换主页 392
9.5 在仿真机上测试主页 393
9.6 转换天气部分 393
9.7 转换新闻部分 406
9.7.1 生成新闻部分的XML数据 406
9.7.2 写新闻种类部分的XSL文档 407
9.7.3 生成新闻详情部分的XML文档 410
9.7.4 为新闻详情部分准备XSLT 411
9.8 转换电子邮件部分 412
9.8.1 设计电子邮件部分的登录表格 413
9.8.2 准备电子邮件主页的XSLT 413
9.8.3 用I模式设备读邮件 415
9.8.4 收集用户信息 416
9.8.5 准备登录表格的XSLT 417
9.8.6 在I模式设备上显示收件夹 419
9.8.7 转换写邮件部分 423
9.8.8 写用户验证表格的XSLT 423
9.8.9 发送邮件并显示确认信息 427
9.9 转换电影票预订系统 429
9.9.1 生成电影院清单的XML数据 429
9.9.2 写电影院清单的XSLT文档 431
9.9.3 显示影片清单 433
9.9.4 写影片清单的XSLT 438
9.9.5 显示影片状况 440
9.9.6 写显示影片状况的XSLT 444
9.9.7 写订票过程逻辑 449
9.9.8 订票过程完成时显示状态消息 453
9.10 小结 457
第10章 VoiceXML预览 459
10.1 语音应用简介 459
10.1.1 语音应用的背景和范围 460
10.1.2 VoiceXML的应用和潜能 460
10.1.3 语音浏览器以及W3C在语音行动上的工作 461
10.1.4 语音应用程序的体系结构 462
10.2 语音技术的实现 462
10.2.1 Java语音标记语言 462
10.2.2 VoXML 463
10.2.3 VoiceXML 464
10.3 VoiceXML中的事件处理及链接 467
10.3.1 处理预定义事件 469
10.3.2 文档驻留在主机并执行 469
10.3.3 VoiceXML窗体 471
10.4 VoiceXML中的变量和表达式 476
10.4.1 VoiceXML中变量的作用域 476
10.4.2 如何引用变量 478
10.4.3 VoiceXML中的文法 478
10.5 案例研究 481
10.5.1 书籍部分 483
10.5.2 天气部分 495
10.5.3 电影部分 502
10.6 小结 512
第11章 为语音客户端进行站点转换 513
11.1 开发应用程序主页 514
11.2 转换天气部分 522
11.3 转换新闻部分 537
11.3.1 生成详细新闻的XML 542
11.4 转换电子邮件部分 549
11.4.1 转换登录部分 549
11.4.2 为语音客户转换接收邮件部分 555
11.5 转换电影部分 558
11.5.1 生成电影院清单的XML数据 558
11.5.2 写电影院清单的XSL 560
11.5.3 写影片清单的XSL 566
11.5.4 生成放映时间的XML数据 568
11.5.5 准备放映状况的XSL文档 570
11.5.6 写XSL文档提示电影放映时间 574
11.5.7 生成订票状况的XML数据 578
11.5.8 写订票状况的XSL 579
11.5.9 提示确认对话 590
11.6 小结 593
第12章 开发桌面应用程序的跨平台GUI 595
12.1 介绍跨平台的GUI桌面应用程序 595
12.2 Mozilla XPFE项目 596
12.2.1 项目概述 596
12.2.2 主要特征 597
12.3 桌面应用程序的XUL接口 597
12.3.1 XUL的特性和功能 598
12.3.2 使用XUL可以制作不同类型的用户界面 598
12.3.3 XUL的结构 599
12.3.4 XUL的工作模型 601
12.3.5 XUL的输入控制 606
12.3.6 和HTML及HTML元素一起工作 610
12.3.7 使用Spring元素 614
12.3.8 在XUL 中使用方框模型(Box Model) 616
12.3.9 窗口元素的不同属性 621
12.3.10 Crop属性和文本以及按钮 623
12.3.11 XUL 的进度条 624
12.3.12 XUL 中的滚动条 626
12.3.13 XUL中的选项卡框 628
12.3.14 在XUL 中使用工具条 630
12.3.15 菜单条中的子菜单 634
12.3.16 XUL中的弹出菜单 636
12.3.17 XUL中的栅格 638
12.3.18 XUL中的Tree元素 640
12.3.19 XUL中的事件处理程序 643
12.4 XPtoolkit 645
12.5 XPCOM接口 646
12.6 XPConnect 647
12.7 XBL 648
12.7.1 XBL如何工作 648
12.7.2 XBL绑定 648
12.8 Netscape Gecko Engine 650
12.8.1 产业领先的Web标准支持 650
12.8.2 Netscape Gecko Engine的优点 651
12.9 小结 652
附录 CD-ROM的内容 653