第1章 XML概述 1
1.1 什么是XML 1
1.1.1 SGML的诞生 1
1.1.2 XML是什么 2
1.2 为什么要学习XML 4
1.2.1 可重用性 4
1.2.2 可扩展性 4
1.2.3 Web应用 4
1.2.4 数据处理 4
1.3 XML相关技术 5
1.3.1 文档类型定义 5
1.3.2 可扩展样式语言 5
1.3.3 可扩展链接语言 5
1.4 XML实际应用 6
1.5 XML的发展前景 6
1.5.1 网络服务领域 7
1.5.2 数据库领域 7
1.5.3 电子商务领域 7
1.6 XML Spy开发环境 8
1.6.1 XML Spy概述 8
1.6.2 XML Spy的安装 9
1.6.3 一个XML文档的简单创建 10
小结 12
习题 13
上机指导 13
实验一:创建XML文档 13
实验二:编辑XML文档内容 14
实验三:简单的XML文档 14
第2章 XML语法 16
2.1 什么是规范的XML文档 16
2.2 XML逻辑结构 17
2.2.1 XML的整体结构 17
2.2.2 XML元素 19
2.2.3 元素属性 22
2.2.4 CDATA段 23
2.2.5 注释 24
2.3 XML物理结构 26
2.3.1 什么是实体 26
2.3.2 实体的类型 27
2.3.3 实体的使用 28
2.4 ASCII字符集 29
2.4.1 ISO字符集 30
2.4.2 MacRoman字符集 31
2.5 Unicode字符集 31
2.5.1 UTF-8 31
2.5.2 通用字符集 31
2.5.3 如何使用Unicode编写XML 32
小结 32
习题 32
上机指导 34
实验一:元素和属性 34
实验二:CDATA段和注释 35
实验三:语法综合 35
第3章 文档类型定义(DTD) 37
3.1 什么是DTD 37
3.1.1 DTD概述 37
3.1.2 第一个DTD示例 38
3.1.3 DTD的基本结构 40
3.1.4 定义元素及其后代 41
3.1.5 定义元素属性 43
3.1.6 DTD中的注释 44
3.1.7 在文档间共享通用的DTD 44
3.2 DTD中的属性声明 45
3.2.1 在DTD中声明属性 46
3.2.2 声明多个属性 46
3.2.3 指定属性的默认值 46
3.2.4 属性类型 47
3.2.5 预定义属性值 49
3.3 实体和外部DTD子集 49
3.3.1 内部通用实体 50
3.3.2 外部通用实体 51
3.3.3 内部参数实体 52
3.3.4 外部参数实体 52
3.3.5 根据片段创建文档 53
3.3.6 结构完整的文档中的实体和DTD 55
3.4 Schema简介 56
3.4.1 Schema概述 56
3.4.2 定义元素及其后代 58
3.4.3 Schema的应用 60
3.5 XML命名空间 63
3.5.1 什么是命名冲突 63
3.5.2 解决命名冲突途径 63
3.5.3 命名空间的使用 64
3.5.4 DTD与命名空间 64
小结 65
习题 65
上机指导 67
实验一:练习使用XMLSpy自动生成DTD文档 68
实验二:练习使用XMLSpy的Grid模式编辑DTD文档 68
实验三:DTD综合 69
第4章 XML与CSS 71
4.1 什么是CSS 71
4.1.1 CSS的历史 71
4.1.2 CSS的编写环境以及功能简要说明 72
4.1.3 CSS的使用方式 73
4.2 选择元素 76
4.2.1 类型选择符(Type Selectors) 77
4.2.2 通配选择符(Universal Selectors) 77
4.2.3 包含选择符(Descendant Selectors) 77
4.2.4 子对象选择符(Child Selectors) 77
4.2.5 相邻选择符(Adjacent Sibling Selectors) 78
4.2.6 ID选择符(ID Selectors) 78
4.2.7 属性选择符(Property Selectors) 78
4.2.8 类选择符(Class Selectors) 79
4.2.9 其他选择方式 79
4.3 属性 79
4.3.1 字体属性 79
4.3.2 颜色属性 82
4.3.3 背景属性 83
4.3.4 文本属性 85
4.3.5 框属性 85
4.4 CSS的书写规范 88
4.5 XML与CSS的综合运用 89
小结 92
习题 93
上机指导 93
实验一:美化导航条 93
实验二:字体属性设置 94
实验三:XML与CSS综合设置 94
第5章 可扩展样式表语言转换(XSLT) 96
5.1 什么是XSL 96
5.1.1 XSL构成 96
5.1.2 树形结构 97
5.1.3 XSL样式单文档 97
5.1.4 在何处进行XML变换 98
5.2 创建一个XSL实例 99
5.2.1 源代码及显示效果 99
5.2.2 各部分详解 101
5.3 XSL模板 103
5.3.1 模板的简单应用 103
5.3.2 xsl:apply-templates元素 104
5.3.3 select特性 104
5.3.4 默认的模板规则 108
5.4 XSL元素 108
5.4.1 XSL元素构成 108
5.4.2 循环xsl:for-each 111
5.4.3 排序xsl:sort 112
5.4.4 选择xsl:if和xsl:choose 112
5.4.5 xsl:fallback元素 114
5.4.6 XSL函数集 115
5.5 匹配节点的模式 118
5.5.1 匹配根节点 118
5.5.2 匹配元素名 118
5.5.3 使用“/”字符匹配子节点 118
5.5.4 使用“∥”字符匹配子节点 119
5.5.5 通过ID匹配 119
5.5.6 使用@来匹配特性 120
5.5.7 使用comments()注释 120
5.5.8 使用pi()来匹配处理指令 121
5.5.9 用text()来匹配文本节点 121
5.5.10 使用“或”操作符 122
5.6 输出格式与编码问题 122
5.6.1 输出文档 122
5.6.2 输出文本 123
5.6.3 输出元素 123
5.6.4 输出属性 124
5.6.5 输出指令 124
5.6.6 输出注释 124
5.6.7 输出消息 124
5.6.8 替换名称空间 125
5.6.9 空白符的输出 125
5.7 格式对象FO 125
5.7.1 XSL-FO文档 125
5.7.2 XSL-FO区域 126
5.7.3 XSL-FO输出 127
5.7.4 XSL-FO FLOW 127
5.7.5 XSL-FO页面 127
5.7.6 XSL-FO块状区域 128
5.7.7 XSL-FO列表 131
5.7.8 XSL-FO表格 131
5.7.9 XSL-FO参考资料 132
小结 133
习题 134
上机指导 134
实验一:图书信息示例 134
实验二:模板的运用和设置 135
实验三:XSLT设置显示样式 136
第6章 文档对象模型(DOM) 138
6.1 DOM的组成 138
6.1.1 一棵简单的DOM树 138
6.1.2 DOM的核心部分 140
6.1.3 DOM接口规范中的4个基本接口 142
6.2 DOM的接口 146
6.2.1 为什么要使用DOM接口 146
6.2.2 接口与实现 147
6.2.3 MSXML文档对象模型的接口一览及重要接口介绍 148
6.3 DOM的应用 162
6.3.1 添加DOM处理引用 162
6.3.2 加载XML文档 164
6.3.3 处理节点 166
6.3.4 保存文档对象 171
6.3.5 验证文档 173
6.3.6 一个实例程序 174
小结 176
习题 177
上机指导 178
实验一:利用DOM加载指定内容的XML文档片段 178
实验二:利用DOM修改XML文档中指定节点的属性信息 179
实验三:利用DOM在XML文档中删除一个元素节点 180
第7章 XML与数据库 183
7.1 XML技术与数据库发展 183
7.1.1 数据库技术的发展 183
7.1.2 XML与数据库技术的结合 184
7.2 XML的数据交换与存储机制 187
7.2.1 XML的数据交换机制 187
7.2.2 XML的数据存取机制 189
7.3 XML数据源对象 191
7.4 XML数据交换技术 191
7.4.1 ADO控件技术 192
7.4.2 HTTPXML对象技术 193
7.4.3 ODBC2XML转换工具 195
7.4.4 XOSL转换工具 195
7.4.5 WDDX Web分布式数据交换 197
7.5 一个简单的XML与数据库的应用 198
小结 201
习题 202
上机指导 202
实验一:使用SQL Server 2000创建数据库 202
实验二:使用ADO操作SQL Server 2000数据库并生成XML文档 204
实验三:使用ADO操作数据库并利用DOM生成XML文档 205
第8章 XML与正则表达式 208
8.1 正则表达式在XML中的应用 208
8.1.1 在XML Schema中的应用 208
8.1.2 在XPath 2.0中的应用 208
8.1.3 在XSLT 2.0中的应用 209
8.2 XML正则表达式简介 209
8.2.1 元字符和普通字符 209
8.2.2 量词 209
8.2.3 字符转义与字符类 210
8.2.4 字符组的使用 211
8.2.5 正则表达式分支 211
小结 211
习题 211
上机指导 212
实验一:使用正则表达式获取指定元素所有属性的集合 212
实验二:采用JS正则表达式验证XML文件结构 213
实验三:JS正则表达式判断是否为数字 215
第9章 XML在Java中的典型应用 217
9.1 用JDOM解析XML文档 217
9.1.1 准备工作 217
9.1.2 创建Java类 218
9.2 用JDOM处理XML文档 220
9.2.1 创建XML文档 220
9.2.2 删除和修改节点 222
9.3 用JAXB解析XML 224
9.3.1 下载与安装JAXB 224
9.3.2 XJC简介 225
9.3.3 JXL简介 225
9.3.4 查看用来映射的XML Schema文档 225
9.4 项目开发 226
9.4.1 创建项目 227
9.4.2 利用XJC生成Java类 227
9.4.3 存储了字典表的Excel文档 230
小结 233
习题 233
上机指导 233
实验一:DOM解析XML 233
实验二:SAX解析XML 235
实验三:DOM4J解析XML 237
第10章 XML在C#中的典型应用 240
10.1 C#中的XML DOM 240
10.1.1 XML DOM的操作对象XmlDocument 240
10.1.2 使用XML文件分析XmlDocument中的对象 240
10.1.3 使用DOM对象获取XML文件 241
10.1.4 使用DOM对象获取XML文件中的指定节点 242
10.1.5 使用DOM对象改变XML文件的数据顺序 244
10.2 XML文件读取器——XmlReader 245
10.2.1 XmlReader的作用 245
10.2.2 对XML的验证 246
10.2.3 使用XmlReader读取XML文件的一部分 246
10.2.4 使用XmlTextReader读取整个XML文件 248
10.3 XML文件编写器——XmlWriter 250
10.3.1 XmlWriter的作用 250
10.3.2 XmlWriter对XML文件的验证 250
10.3.3 用XmlWriter创建并编辑XML文件 250
10.4 XML与DataSet的交互 252
10.4.1 将XML文件转化为DataSet数据集 252
10.4.2 将DataSet数据集转换为XML文件 254
小结 257
习题 257
上机指导 257
实验一:XmlDocument对象操作XML文件 257
实验二:XPath查询XML内容 260
实验三:LINQ to XML操作XML 261
第11章 综合案例——XML在线成绩管理系统 263
11.1 系统功能简介和架构设计 263
11.1.1 系统功能简介 263
11.1.2 系统架构 263
11.2 学生信息管理模块 264
11.2.1 XML结构 264
11.2.2 学生信息模型 265
11.2.3 访问学生信息DAO 266
11.2.4 访问学生信息DAO实现类 267
11.2.5 StudentDAOImpl单元测试类 269
11.2.6 XML工具类 271
11.3 学生成绩管理模块 271
11.3.1 XML结构 271
11.3.2 学生成绩模型 272
11.3.3 访问学生成绩DAO 274
11.3.4 访问学生成绩DAO实现类 274
11.3.5 GradeDAOImpl单元测试类 277
小结 278