第1章 XML简介1.1 标记语言1.2 XML的起源和目的1.3 Web体系结构:过去与未来1.3.1 传统Web体系结构1.3.2 XML下的Web体系结构1.4 XML基本特征1.5 词汇表1.5.1 科学词汇表1.5.2 商业词汇表1.5.3 法律词汇表1.5.4 医学词汇表1.5.5 计算机词汇表1.6 XML技术的主要特性1.6.1 格式正规的XML1.6.2 文档类型定义1.6.3 数据建模1.6.4 文档对象模型1.6.5 XML简单API1.6.6 命名空间和模式1.6.7 链接和查询1.6.8 转换XML1.6.9 XML和数据库1.6.10 服务器到服务器1.6.11 电子商务与XML1.6.12 使用样式1.6.13 无线应用协议和WML1.7 XML的应用程序举例1.8 小结第2章 XML语法2.1 标记语法2.1.1 字符2.1.2 命名2.2 文档部分2.3 元素2.3.1 起始标记2.3.2 结束标记2.3.3 空元素标记2.3.4 标记:一个简单的例子2.3.5 文档元素2.3.6 子元素2.3.7 元素嵌套2.3.8 字符串2.4 字符数据2.5 属性2.5.1 特殊属性2.5.2 空白2.5.3 行尾的处理2.6 字符引用和实体引用2.6.1 字符引用2.6.2 实体引用2.7 处理指令2.8 注释2.9 CDATA部分2.10 文档结构2.10.1 序言2.10.2 尾声2.11 XML语法小结2.12 格式正规的文档2.13 解析器2.13.1 事件驱动的解析器2.13.2 基于树的解析器2.13.3 解析器基准测试2.14 书籍目录应用程序2.15 小结第3章 文档类型定义3.1 为何需要正式的结构3.1.1 文档域3.1.2 验证文档的有效性3.2 编写DTD:通用原则3.2.1 将DTD与XML文档相关联3.2.2 基本标记声明3.3 正式的DTD结构3.3.1 实体3.3.2 元素3.3.3 属性3.3.4 条件部分3.4 DTD的缺点3.5 用于图书目录问题的DTD3.5.1 图书目录问题的正式定义3.5.2 对象关系问题3.5.3 进一步讨论3.6 小结第4章 数据建模与XML4.1 信息建模4.1.1 静态模型和动态模型4.1.2 文档和数据4.1.3 从何处开始4.1.4 静态信息模型4.1.5 动态建模:对数据进行哪些处理4.2 设计XML文档4.2.1 XML的两种角色4.2.2 将信息模型映射到XML4.3 模式语言和表示法4.3.1 模式的作用4.3.2 将DTD作为模式4.3.3 XML模式建议4.4 小结第5章 文档对象模型5.1 什么是文档对象模型5.1.1 XML文档结构5.1.2 为何使用DOM5.1.3 DOM规范5.1.4 现实世界中的DOM5.1.5 特殊的XML DOM实例——HTML DOM5.2 使用DOM5.2.1 DOM API5.2.2 客户端和服务器端5.2.3 DOM在出版过程中的应用5.3 使用DOM和XML的应用实例5.3.1 简单的客户端实例5.3.2 更复杂的编程实例5.4 DOM和XML的未来5.4.1 W3C的工作5.4.2 应用5.4.3 数据库、模式和DOM5.5 小结第6章 SAX 1.0:XML简易API6.1 事件驱动接口6.2 SAX的由来6.3 SAX的高级特性6.3.1 可选择的源输入6.3.2 处理外部实体6.3.3 选择解析器6.4 一些SAX设计模式6.5 SAX 2.06.5.1 可配置的接口6.5.2 核心的特性和属性6.6 小结第7章 命名空间和模式7.1 混合词汇表7.1.1 分解问题7.1.2 重用7.1.3 多义性名称冲突7.2 命名空间7.3 定义和声明命名空间7.3.1 声明一个命名空间7.3.2 限定名7.3.3 范围7.4 在格式正规的书籍里使用命名空间实例7.5 模式7.5.1 与DTD有关的问题7.5.2 一个对创建模式的帮助7.6 W3C在XML模式方面的工作7.6.1 DTD与XML模式的比较7.6.2 结构7.6.3 数据类型7.7 简化了的XML Data7.7.1 MSXML对命名空间和模式的支持7.7.2 数据类型7.8 图书目录中的变化7.8.1 为什么烦恼7.8.2 重铸DTD7.8.3 模式协调7.9 小结第8章 链接和查询8.1 XML信息集合8.1.1 信息类型8.1.2 信息集合的重要性8.1.3 小结8.2 链接8.2.1 什么是链接8.2.2 W3C规范:XLink8.3 XPointer8.3.1 HTML指针8.3.2 XPointer规范8.4 W3C XPath推荐标准8.4.1 Location Step8.4.2 XPointer对XPath的扩展8.4.3 XPointer错误8.4.4 小结8.5 XML程序段交换8.5.1 什么是文档程序段8.5.2 文档程序段的一些用途8.5.3 问题:Bare文档程序段并不总是充分的8.5.4 解决办法:环境信息8.5.5 回顾实例8.5.6 如何传输程序段8.5.7 小结8.6 查询8.6.1 什么是查询语言8.6.2 关系型数据库和XML文档之间的区别8.6.3 XML查询语言的发展历史8.6.4 使用XPath和XSLT查询XML文档8.6.5 查询语言展望8.7 小结第9章 转换XML9.1 为什么转换XML9.1.1 在不同词汇表之间转换9.1.2 动态转换9.1.3 不同的浏览器9.2 XSL9.3 XSLT样式表命令9.3.1 创建模板9.3.2 处理空白9.3.3 输出格式9.3.4 合并样式表9.3.5 嵌入样式表9.4 使用XSLT的例子9.4.1 命令的转换9.4.2 循环9.4.3 排序9.4.4 条件处理9.4.5 名称模板9.4.6 编号方式9.4.7 拷贝9.5 使用DOM进行XML文档的转换9.5.1 用DOM进行命令的转换9.5.2 在运行时修改一个XSLT文档9.6 XSL转换与DOM转换的比较9.7 小结第10章 XML和数据库10.1 存储XML10.1.1 持续性问题10.1.2 文档管理10.1.3 XML存储和数据库10.1.4 结论10.2 XML的交换10.2.1 数据标准10.2.2 查询标准10.2.3 结论10.2.4 你可能需要的标准10.3 图书目录的例子10.3.1 处理存在的数据和应用10.3.2 图书目录模式10.4 结论第11章 服务器到服务器11.1 XML的传送11.1.1 基于FTP的XML传送11.1.2 XML和消息队列11.1.3 基于HTTP的XML11.1.4 基于SMTP的XML11.2 作为一种分布式组件模式的XML11.2.1 消息传送和串行化11.2.2 紧耦合系统和松耦合系统11.2.3 通信方式11.3 XML-RPC11.3.1 为什么使用XML-RPC11.3.2 XML-RPC适用于何处11.3.3 XML-RPC规范——技术全瞻11.3.4 XML-RPC的实现11.3.5 书籍应用例子11.3.6 到哪里去11.4 SOAP11.4.1 XML-RPC++11.4.2 实现11.4.3 结论11.5 WebDAV11.6 小结第12章 电子商务和XML12.1 什么是电子商务12.1.1 对客户直接销售12.1.2 企业对企业交易12.1.3 信息共享和内容联合12.1.4 EDI——电子数据交换12.2 在电子商务中应用XML12.2.1 通常的错误概念12.2.2 在电子商务中使用XML的感受12.3 展望未来12.3.1 发现和调解12.3.2 容器12.3.3 代理12.3.4 模板12.4 理论转化为实现12.5 电子商务解决方案12.6 行业方案12.6.1 纵向行业解决方案的关键12.6.2 旅游12.7 人力资源12.7.1 HR-XML12.7.2 健康12.8 cXML——纵向行业的一个详细例子12.8.1 为什么有cXML12.8.2 cXML协议规范12.8.3 消息传输12.9 第1步——横向行业12.9.1 ASC X1212.9.2 XML-EDIFACT12.9.3 电子商务XML工作组12.10 第一个横向步骤12.10.1 BizTalk标记规范12.10.2 规范的目标和当前的限制12.10.3 文档结构12.10.4 一个用于Wrox书店的BizTalk文档12.10.5 BizTalk Jumpstart工具包简介12.10.6 BizTalk服务器12.11 小结第13章 样式XML13.1 解释的位置13.2 客户端的XML转换13.3 解释模型13.3.1 视觉解释13.3.2 语音解释13.3.3 如何将样式表链接到XML文档上13.3.4 规则语言13.3.5 CSS13.3.6 XSL13.3.7 用XSL解释XML13.3.8 DSSSL13.3.9 Omnimark13.4 小结第14章 无线应用协议14.1 新客户介绍14.2 了解无线环境14.2.1 服务14.2.2 无线网络14.2.3 WAP如何解决无线网络应用遇到的问题14.3 介绍WML14.3.1 怎样将第一份文档传送到电话上14.3.2 WML文档的结构14.3.3 通用属性14.3.4 WML包括什么14.3.5 Meta信息14.3.6 基本字符、表格和演示14.3.7 使用计时器14.3.8 事件处理器14.3.9 使用变量14.3.10 任务和菜单14.3.11 客户端模板14.3.12 表单数据14.3.13 图像14.4 在服务器上生成WML14.5 WROX的WML应用14.6 WML脚本14.6.1 基本概念14.6.2 字节码14.6.3 如何从WML上调用脚本函数14.7 脚本库14.7.1 决定浏览器的状态——WMLBrowser脚本库14.7.2 Dialogs库14.7.3 特定的语言函数14.7.4 浮点数14.7.5 字符串14.7.6 URL14.8 如何得到更多的信息14.9 小结第15章 实例研究1——数据双重性15.1 商业需求15.2 系统要求15.3 设计时间:让我们开始吧15.4 实现方法概述15.5 建立数据库15.6 提供XML功能的ASP15.7 客户端页面15.8 “以编号浏览”XSL样式表15.9 “以名字浏览”XSL样式表15.10 激活XSL样式表15.11 问题:保持树的同步15.12 小结第16章 实例研究2——XML和分布式应用程序16.1 目前的弱点16.2 构建网络应用程序的五条原则16.2.1 从粗粒度服务构建应用程序16.2.2 通过查询目录发现服务16.2.3 将服务提供为自描述数据16.2.4 服务是短暂的16.2.5 服务必须可扩展,且能够降低对外部的要求16.3 商业实例16.4 应用程序设计16.4.1 应用程序的组织16.4.2 程序员服务客户16.4.3 服务16.4.4 交换词汇表16.5 实现16.5.1 定位服务16.5.2 管理数据绑定16.6 输入和编辑程序员信息16.6.1 客户端16.6.2 服务器端16.6.3 用于插入程序员信息的完整客户端代码16.6.4 用于插入程序员信息的完整服务器端代码16.7 搜索程序员信息16.7.1 客户端16.7.2 服务器端16.8 清除程序员表单16.9 输入程序员成果报告16.9.1 客户端16.9.2 服务器端16.10 清除成果报告历史表单16.11 获取程序员的成果历史16.11.1 客户端16.11.2 服务器端16.12 经验教训16.12.1 违反的开发原则16.12.2 组件16.12.3 重用的可能性16.13 小结第17章 实例研究3——图书目录信息服务17.1 图书目录信息服务17.1.1 系统概述17.1.2 创建BCIS17.2 小结第18章 实例研究4——SOAP18.1 追根溯源18.2 SOAP Opera18.2.1 OPERA客户端18.2.2 OPERA服务器18.2.3 订单输入应用程序18.2.4 对象18.3 小结附录A XML 1.0规范附录B IE 5 XML文档对象模型附录C SAX 1.0:XML简单API附录D IE 5 XML模式和数据类型附录E IE 5 XSL引用附录F CSS属性附录G 安装XT附录H 支持与勘误