第1章 XML的发展背景及原因 1
1.1 XML诞生的背景 1
1.1.1 SGML介绍 2
1.1.2 HTML的出现 2
1.1.3 XML的诞生 2
1.2 XML的特点及技术 3
1.2.1 XML可以作为电子数据交换的统一格式 3
1.2.2 XML的数据描述特点 4
1.2.3 XML的不足之处 5
1.2.4 XML的主要相关技术分类 5
1.3 XML的发展前景 7
1.4 HTML介绍 7
1.4.1 什么是HTML 7
1.4.2 HTML的作用及主要构成 8
1.4.3 HTML工作协议基础 10
1.5 XML与HTML的主要差异 11
本章小结 11
习题与实训 11
第2章 XML的基本组成 12
2.1 创建一个XML文档 12
2.2 XML文档的基本构成元素 13
2.2.1 关于文件头的声明 13
2.2.2 XML文件的元素 14
2.2.3 元素内容 14
2.2.4 元素的属性 15
2.3 XML文档的语法规则及限制 15
本章小结 16
习题与实训 16
第3章 XML的命名空间 17
3.1 为什么需要命名空间 18
3.2 命名空间的语法 18
3.2.1 命名空间的定义 18
3.2.2 统一资源标识符 19
3.2.3 前缀与本地部分、限定名称 19
3.2.4 依赖URI,而不依赖前缀 20
3.2.5 默认命名空间 20
3.2.6 通用前缀 21
3.3 命名空间的作用域 21
3.4 命名空间和验证文件 22
3.4.1 命名空间和DTD 22
3.4.2 命名空间和XML Schema 23
3.5 解析器对命名空间的支持 24
本章小结 25
习题与实训 25
第4章 XML文档类型定义——DTD 26
4.1 什么是DTD 26
4.2 为什么要使用DTD 27
4.3 XML DTD声明 27
4.3.1 内部DTD 27
4.3.2 外部DTD 28
4.4 DTD的语法 29
4.4.1 元素声明 29
4.4.2 属性声明 31
4.4.3 实体声明 33
4.5 实例 34
本章小结 35
习题与实训 35
第5章 XML Schema 36
5.1 XML Schema基础知识 36
5.1.1 什么是XML Schema 36
5.1.2 为什么使用Schema 37
5.1.3 如何使用Schema 38
5.2 XSD的数据类型 39
5.2.1 简单数据类型 39
5.2.2 复杂数据类型 40
5.3 XSD的语法 41
5.3.1 XSD的元素声明 41
5.3.2 XSD的属性声明 42
5.3.3 XSD复合类型指示器 43
5.3.4 在一个XML模式中使用另一个模式 45
5.4 XML Schema实例 46
本章小结 52
习题与实训 52
第6章 XSL转换 53
6.1 XSL概述 53
6.1.1 链接XSL到XML 54
6.1.2 XML文档结构树 55
6.1.3 XSLT样式单的创建和输出 55
6.1.4 在XML文档中使用多个样式单 57
6.2 XSLT模板 57
6.2.1 模板的定义元素 57
6.2.2 关于XSL样式单中的HTML置标 58
6.3 节点的访问 60
6.3.1 访问单个节点 60
6.3.2 访问多个节点 60
6.3.3 XML结构树中的节点类型和节点值 61
6.4 节点的选择方式 61
6.4.1 通用匹配符 62
6.4.2 直接使用元素名 64
6.4.3 路径选择方式 64
6.4.4 选择元素属性 66
6.4.5 为模板选择多个元素 67
6.4.6 为选择的元素添加条件 67
6.4.7 使用节点类型函数选择节点 70
6.5 对输出结果的排序 70
6.6 对输出节点的选择 71
本章小结 73
习题与实训 74
第7章 层叠样式表 75
7.1 CSS简介 75
7.1.1 初识CSS 75
7.1.2 为什么要使用CSS 77
7.1.3 CSS规范 78
7.1.4 HTML现有技术对样式表的支持 79
7.2 基本CSS语法 80
7.2.1 CSS使用 80
7.2.2 CSS基础语法 81
7.2.3 选择符 81
7.2.4 CSS属性 83
7.3 CSS盒模型 88
7.3.1 基本BOX概念 88
7.3.2 BOX模型属性 90
7.3.3 BOX的类型 92
7.3.4 可视性 93
7.4 CSS高级应用 93
7.4.1 CSS打印支持 93
7.4.2 声音层叠样式表 95
7.4.3 CSS滤镜与渐变 97
7.5 CSS 3.0 101
7.5.1 边框 102
7.5.2 背景 102
7.5.3 文字效果 102
7.5.4 颜色 103
本章小结 103
习题与实训 103
第8章 XPath、XLink、XPointer、XInclude和XBase 105
8.1 XML Path Language 105
8.1.1 节点 106
8.1.2 定位路径 107
8.1.3 节点集操作符和函数 110
8.2 XML指针语言 112
8.2.1 绝对位置 115
8.2.2 相对位置 116
8.2.3 其他位置 119
8.3 XML链接语言 120
8.3.1 简单XLink 120
8.3.2 扩展XLink 122
8.4 XML Inclusions 124
8.5 XML Base 124
8.5.1 与RFC 2396的关系 125
8.5.2 基准URI信息的粒度 125
8.5.3 URI与基准URI的匹配 126
本章小结 126
习题与实训 126
第9章 XML文档处理 128
9.1 XML DOM 128
9.1.1 DOM接口中的主要对象 130
9.1.2 XML文档的加载 132
9.1.3 XML文档的遍历 133
9.1.4 XML元素的添加、删除和修改 134
9.2 SAX 135
9.2.1 SAX简介 135
9.2.2 SAX的常用接口介绍 136
9.2.3 创建SAX解析器 137
9.3 JDOM 139
9.3.1 JDOM包概览 140
9.3.2 JDOM类说明 140
9.3.3 JDOM的主要使用方法 141
9.3.4 JDOM应用 144
9.4 DOM4J 148
9.4.1 DOM4J概念 148
9.4.2 DOM4J使用简介1 150
9.4.3 DOM4J使用简介2 153
本章小结 158
习题与实训 158
第10章 资源描述框架 159
10.1 RDF简介 159
10.2 RDF规则 162
10.2.1 RDF资源、属性和属性值 162
10.2.2 RDF陈述 163
10.3 RDF实例 163
10.4 RDF的主要元素及容器 165
10.5 RDF Schema 168
本章小结 170
习题与实训 171
第11章 Native XML Database 172
11.1 Native XML Database简介 172
11.2 Native XML Database的优势 174
11.3 了解eXist 174
11.3.1 序言 174
11.3.2 预备知识 175
11.3.3 安装eXist 176
11.3.4 编写与eXist交互的程序 176
11.3.5 插入文档 177
11.3.6 删除文档 178
11.3.7 更新文档 178
11.4 了解Apache Xindice 179
11.4.1 Xindice简介 179
11.4.2 现状与前景 179
11.4.3 Xindice主要功能 180
11.4.4 Xindice数据库管理指南 180
11.4.5 开发人员指南 185
本章小结 194
习题与实训 194
第12章 Web Service 195
12.1 Web Service简介 195
12.2 SOAP标签 196
12.2.1 SOAP简介 196
12.2.2 SOAP语法 196
12.2.3 SOAP元素 196
12.2.4 SOAP实例 197
12.3 RESTful概念 200
12.4 Web Service开发实例 200
12.4.1 开发工具 200
12.4.2 开发环境 201
12.4.3 Web Service实例——图书管理系统 201
12.5 RESTful架构例子 219
12.5.1 图书管理系统——增加功能 219
12.5.2 图书管理系统——修改功能 220
12.5.3 图书管理系统——删除功能 221
12.5.4 图书管理系统——查询功能 222
本章小结 223
习题与实训 223
第13章 SOA 224
13.1 SOA的基本概念及思想 224
13.1.1 概念 224
13.1.2 SOA的发展及其思想 226
13.2 SOA和企业业务逻辑的绑定 228
13.2.1 步骤1:剖析业务 228
13.2.2 步骤2:决定哪些业务是企业的独特之处,哪些是一般性的共性业务 231
13.2.3 步骤3:决定如何投资 232
13.3 SOA主要技术 233
13.3.1 什么是企业服务总线 233
13.3.2 ESB的适用场景及要素 234
13.3.3 实践 235
13.4 通过Web Service实现SOA 236
13.4.1 SOA相关技术标准分类 237
13.4.2 SOA相关技术标准比较说明 237
13.4.3 总结 241
本章小结 241
习题与实训 241
第14章 XML及其相关技术应用实例 242
14.1 应用实例背景 242
14.1.1 新闻发布系统概述 242
14.1.2 新闻发布系统功能展示 242
14.2 功能需求 249
14.2.1 系统需求 249
14.2.2 权限矩阵 250
14.2.3 业务流程 250
14.2.4 新闻状态变化分析 250
14.3 开发指南 251
14.3.1 开发流程 251
14.3.2 系统架构的设计 252
14.3.3 开发平台 253
14.3.4 数据库的设计 253
14.3.5 XML文档设计 253
14.3.6 包截图 253
14.3.7 核心类的设计 255
14.3.8 系统集成 255
14.4 编码实现 256
14.4.1 XML的核心代码 256
14.4.2 其他业务类代码 261
14.5 相关技术集成 264
14.5.1 表示层的其他集成路线 264
14.5.2 持久层的其他集成路线 264
14.5.3 与热门框架的集成应用 265
本章小结 265
习题与实训 265
参考文献 267