第1章 XML简介 1
1.1 XML的产生 1
1.1.1 SGML的诞生 1
1.1.2 什么是XML 2
1.1.3 XML和HTML的不同 4
1.2 XML的现状及其发展 6
1.2.1 XML应用领域 6
1.2.2 XML发展前景 7
1.3 XML相关技术 10
1.4 XML编辑工具 15
1.4.1 普通文本编辑工具 15
1.4.2 本书的开发环境 16
1.4.3 XML Spy简介 16
1.4.4 使用XML Spy编辑XML文档 17
1.4.5 XML Spy的视图格式 20
1.5 本章小结 21
1.6 思考和练习 21
第2章 格式良好的XML文档 22
2.1 XML文档的分类 22
2.1.1 格式不良好的XML文档 23
2.1.2 格式良好的XML文档 23
2.2 XML文档的整体结构 24
2.3 XML声明 26
2.3.1 XML声明中的version属性 26
2.3.2 XML声明中的encoding属性 26
2.3.3 XML声明中的standalone属性 27
2.4 XML文档的处理指令和注释 27
2.4.1 处理指令 27
2.4.2 注释 28
2.5 XML元素的基本规则 29
2.5.1 XML元素的命名规则 29
2.5.2 根元素 29
2.5.3 元素的构成 30
2.5.4 元素的嵌套 31
2.5.5 元素的属性 33
2.6 实体引用和CDATA段 34
2.6.1 实体引用 35
2.6.2 CDATA段 36
2.7 命名空间 37
2.7.1 有前缀和无前缀命名空间 38
2.7.2 在标记中声明命名空间 39
2.7.3 命名空间的作用域 40
2.8 本章小结 40
2.9 思考和练习 41
第3章 有效的XML文档——DTD 42
3.1 DTD概述 42
3.2 DTD的基本结构 43
3.2.1 内部DTD 43
3.2.2 外部DTD 44
3.2.3 DTD的基本结构 45
3.3 DTD元素定义 45
3.3.1 元素定义 45
3.3.2 元素类型 45
3.4 DTD属性说明 48
3.4.1 声明属性的语法 48
3.4.2 属性的默认值 49
3.4.3 属性的类型 50
3.5 DTD实体声明 54
3.5.1 实体的概念和分类 54
3.5.2 通用实体 55
3.5.3 参数实体 56
3.6 DTD现状和Schema的优势 57
3.6.1 DTD现状 57
3.6.2 Schema的优势 58
3.7 本章小结 59
3.8 思考和练习 59
第4章 有效的XML文档——Schema 60
4.1 Schema概述 60
4.2 XML Schema的基本结构 61
4.2.1 XML Schema文档示例 61
4.2.2 XML Schema的主要组件 63
4.3 XML Scbema中的数据类型 67
4.3.1 简单类型 67
4.3.2 复杂类型 72
4.4 XML Schema的命名空间 74
4.4.1 名称重复 74
4.4.2 命名空间 74
4.4.3 使用命名空间 75
4.5 XML有效性的验证 76
4.5.1 使用开发工具验证 76
4.5.2 编程验证 77
4.6 本章小结 80
4.7 思考和练习 80
第5章 使用CSS显示XML文档 83
5.1 样式表概述 83
5.1.1 显示XML的两种常用样式表 83
5.1.2 样式表的优势 84
5.2 CSS简介 85
5.2.1 CSS基本概念 85
5.2.2 CSS的历史 85
5.2.3 CSS的创建与应用 85
5.3 CSS基本语法 87
5.3.1 定义样式 87
5.3.2 对XML文档有效的CSS选择符 88
5.4 XML与CSS结合的方式 89
5.4.1 调用外部样式表文件 89
5.4.2 在XML文档内部定义样式 90
5.4.3 混合方法指定样式 91
5.4.4 使用多个样式文件 91
5.5 CSS属性 92
5.5.1 字体属性 93
5.5.2 文本属性 93
5.5.3 颜色和背景属性 94
5.5.4 设置文本的显示方式 95
5.6 CSS的显示规则 96
5.7 本章小结 97
5.8 思考和练习 98
第6章 使用XSL显示XML文档 100
6.1 XSL概述 100
6.1.1 CSS的局限性及XSL的特点 100
6.1.2 XSL的构成 101
6.1.3 XSL转换入门 102
6.2 XSL文档结构 103
6.2.1 创建一个XSL实例 103
6.2.2 XSL入门 106
6.3 XSL模板 107
6.3.1 使用template元素定义模板 107
6.3.2 使用apply-templates元素处理子节点 108
6.3.3 XSL的默认模板规则 112
6.3.4 使用命名模板 113
6.4 XSLT的元素 113
6.4.1 使用xsl:value-of获得节点值 113
6.4.2 使用xsl:for-each处理多个元素 115
6.4.3 使用xsl:sort对输出元素排序 118
6.4.4 用于选择的元素xsl:if和xsl:choose 119
6.5 XSL的模式语言 122
6.5.1 相对路径和绝对路径 122
6.5.2 匹配节点的模式 122
6.6 使用XMLSpy管理XSL操作 127
6.7 本章小结 129
6.8 思考和练习 129
第7章 XML解析器——DOM 132
7.1 DOM概述 132
7.2 DOM的结构 133
7.3 节点类型 135
7.4 DOM基本接口 136
7.4.1 Node接口 137
7.4.2 Document接口 137
7.4.3 NodeList接口 139
7.4.4 NamedNodeMap接口 139
7.4.5 Element接口 139
7.4.6 Text接口 141
7.5 DOM的使用 141
7.5.1 修改XML文档 141
7.5.2 生成XML文档 143
7.5.3 处理空白 145
7.5.4 验证格式良好与有效性 146
7.6 浏览器对DOM的支持 146
7.7 本章小结 146
7.8 思考和练习 147
第8章 XML解析器——SAX 148
8.1 SAX简介 148
8.2 SAX的特点 149
8.3 SAX工作机制 150
8.3.1 事件处理器 150
8.3.2 SAX事件 151
8.3.3 SAX常用接口 152
8.3.4 SAX回调方法 154
8.4 使用SAX解析XML 155
8.4.1 SAX解析XML文档 155
8.4.2 处理空白 156
8.4.3 实体 156
8.5 SAX错误信息 156
8.6 SAX与DOM 157
8.7 本章小结 160
8.8 思考和练习 160
第9章 XML与数据库 161
9.1 XML与数据库技术的发展 161
9.1.1 数据库技术的发展 162
9.1.2 XML与数据库技术的结合 163
9.1.3 XML在数据库中的应用模式 163
9.2 XML的数据交换与存储机制 164
9.2.1 XML的数据交换机制 164
9.2.2 XML的数据交换类型 165
9.2.3 XML的数据存取机制 166
9.2.4 XML数据交换技术的工程应用 167
9.3 XML与数据库的数据交换技术 168
9.3.1 ADO.NET简介 168
9.3.2 .NET中的XML特性 170
9.3.3 从数据库到XML文档 171
9.3.4 从XML文档到数据库 179
9.4 SQL Server 2005对XML的支持 182
9.4.1 SQL Server 2005对XML的支持 182
9.4.2 XML数据类型 183
9.4.3 XML类型的方法 184
9.4.4 发布XML数据 185
9.4.5 在表中插入XML数据 188
9.5 本章小结 190
9.6 思考和练习 191
第10章 基于XML的论坛开发 192
10.1 系统功能分析 192
10.1.1 论坛功能 192
10.1.2 系统模块 193
10.2 论坛系统XML文件的设计 193
10.2.1 users.xml 194
10.2.2 section.xml 195
10.2.3 topic.xml 197
10.2.4 reply.xml 198
10.3 访问XML数据的公共类 198
10.3.1 系统配置 199
10.3.2 两个基本公共类 199
10.3.3 用户信息访问类 200
10.3.4 版块信息访问类 204
10.3.5 帖子信息访问类 209
10.3.6 回复信息访问类 215
10.4 帖子相关模块的设计与实现 217
10.4.1 帖子的浏览 217
10.4.2 特定帖子回复的浏览 223
10.4.3 已登录用户发表新帖 225
10.4.4 已登录用户回复旧帖 226
10.5 用户信息模块的设计与实现 227
10.5.1 用户注册 227
10.5.2 会员登录 230
10.5.3 会员注册信息查询与修改 231
10.5.4 会员发帖或回复信息查询与管理 234
10.6 管理模块的设计与实现 237
10.6.1 管理员登录 237
10.6.2 版块管理 237
10.6.3 帖子管理 242
10.6.4 其他管理 244
10.7 本章小结 246
10.8 思考和练习 246
参考文献 247