第1章 XML入门 1
1.1 了解XML 1
1.1.1 第一个XML文档 1
1.1.2 XML的发展历史 2
1.1.3 XML与其他标记语言相比较 3
1.1.4 XML编辑工具 5
1.2 XML的语法基础 7
1.2.1 XML的文档分类 7
1.2.2 XML的文档组成 11
1.2.3 XML的基本语法规则 16
1.3 XML的元素构成 17
1.3.1 元素的形式 17
1.3.2 元素的内容 18
1.4 XML相关技术及不同用途下的类似技术 21
1.4.1 XML的相关技术 21
1.4.2 XML的类似技术 24
1.5 本章小结 30
习题1 30
第2章 在XML中使用DTD 32
2.1 DTD介绍 32
2.1.1 DTD概述 32
2.1.2 DTD的基本语法 33
2.1.3 引入DTD的方式 36
2.1.4 使用XMLSpy创建DTD 38
2.2 DTD 中的元素 40
2.2.1 元素定义语法 40
2.2.2 元素类型 41
2.3 DTD中的属性 47
2.3.1 属性定义语法 47
2.3.2 属性类型 48
2.4 DTD中的实体和符号 51
2.4.1 实体 51
2.4.2 符号 58
2.5 使用XMLSpy做DTD与XML转换 58
2.5.1 根据XML文件产生DTD 58
2.5.2 根据DTD文件产生XML 61
2.6 DTD的优缺点 64
2.7 本章小结 64
习题2 64
第3章 命名空间 68
3.1 命名空间概述 68
3.2 命名空间作用域 71
3.3 元素对命名空间的使用 72
3.4 属性对命名空间的使用 73
3.5 DTD对命名空间的支持 74
3.6 本章小结 75
习题3 75
第4章 在XML中使用Schema 77
4.1 Schema概述 77
4.1.1 Schema基础知识 77
4.1.2 第一个Schema文件 78
4.2 Schema的引用方法 79
4.3 Schema的语法结构 82
4.3.1 元素 82
4.3.2 属性 86
4.3.3 注释 88
4.4 Schema的数据类型 89
4.4.1 内置数据类型 90
4.4.2 用户自定义数据类型 102
4.5 本章小结 117
习题4 117
第5章 Schema高级技术 119
5.1 Schema的高级特性 119
5.1.1 元素的替换 119
5.1.2 抽象元素和抽象类型 120
5.1.3 限制替换元素和限制派生类型 122
5.1.4 限制替换类型 126
5.1.5 元素和属性的约束 128
5.2 Schema的复用 130
5.2.1 使用include元素复用Schema 130
5.2.2 使用redefine元素复用Schema 133
5.2.3 使用import元素复用Schema 135
5.3 Schema实践技巧——空元素的表示 137
5.4 本章小结 138
习题5 139
第6章 XML的显示技术之CSS 140
6.1 ML的显示技术 140
6.2 在XML中引入CSS 141
6.3 CSS的基本语法 143
6.3.1 CSS语法 143
6.3.2 CSS属性 144
6.3.3 CSS单位 146
6.3.4 CSS选择器 147
6.3.5 CSS实践 147
6.4 本章小结 149
习题6 150
第7章 XPath 151
7.1 XPath概述 151
7.2 XPath结点 151
7.3 XPath路径 153
7.3.1 轴 154
7.3.2 XPath结点测试 157
7.3.3 谓词 161
7.3.4 简化路径 162
7.4 XPath运算符 165
7.5 XPath函数 166
7.6 本章小结 172
习题7 172
第8章 XSLT 173
8.1 XSLT概述 173
8.1.1 XSLT基本概念 173
8.1.2 第一个XSLT 174
8.1.3 使用XMLSpy工具创建XSLT 176
8.2 在XML中引用XSLT 178
8.3 XSLT的转换模式 180
8.4 XSLT的基本语法 183
8.4.1 XSLT的文档结构 183
8.4.2 output标记 184
8.4.3 模板及模板调用 186
8.4.4 转换为HTML文档常用标记 196
8.4.5 转换为XML文档常用标记 201
8.5 XSLT的复用 205
8.6 本章小结 210
习题8 210
第9章 DOM 212
9.1 XML文档解析技术 212
9.1.1 XML文档解析技术概述 212
9.1.2 DOM与SAX相比较 213
9.1.3 JAXP 214
9.2 使用DOM解析XML文档 214
9.3 DOM接口及其应用 217
9.3.1 DOM的核心概念——结点 217
9.3.2 使用JAXP通过DOM解析XML文档 219
9.3.3 使用JAXP通过DOM输出XML文档 224
9.3.4 使用JAXP通过DOM修改XML文档 227
9.4 本章小结 230
习题9 231
第10章 SAX 232
10.1 SAX概述 232
10.1.1 SAX基础知识 232
10.1.2 第一个SAX程序 234
10.2 使用SAX解析XML文档 237
10.2.1 XMLReader和XMLReaderFactory 237
10.2.2 SAXParser和SAXParserFactory 240
10.3 SAX接口及其应用 240
10.3.1 ContentHandler接口 240
10.3.2 Attributes和Attributes2接口 249
10.3.3 ErrorHandler接口 250
10.3.4 DTDHandler和DeclHandler接口 257
10.3.5 EntityResolver和EntityResolver2接口 257
10.3.6 LexicalHandler接口 259
10.4 DefaultHandler和DefaultHandler2类开发实践 264
10.5 本章小结 270
习题10 270
第11章 JDOM和DOM4J 272
11.1 JDOM和DOM4J概述 272
11.1.1 JDOM基础知识 272
11.1.2 DOM4J基础知识 273
11.1.3 DOM4J与JDOM相比较 274
11.2 使用JDOM对XML文档进行操作 274
11.2.1 使用JDOM解析XML文档 274
11.2.2 使用JDOM创建XML文档 276
11.2.3 使用JDOM修改XML文档 278
11.3 使用DOM4J对XML文档进行操作 280
11.3.1 使用DOM4J解析XML文档 280
11.3.2 使用DOM4J创建XML文档 284
11.3.3 使用DOM4J修改XML文档 286
11.4 本章小结 288
习题11 288
第12章 Digester 289
12.1 Digester概述 289
12.1.1 Digester基础知识 289
12.1.2 Digester的下载 290
12.1.3 使用Digester解析简单的XML文档 290
12.2 处理规则 292
12.2.1 Rule类 292
12.2.2 Digester类 294
12.3 深入Struts框架学习Digester 299
12.4 本章小结 301
习题12 302
第13章 关系数据库与XML 303
13.1 数据库技术的发展 303
13.1.1 传统的数据库系统 303
13.1.2 新兴的数据库技术 304
13.2 XML与数据库 304
13.2.1 XML是数据库吗 304
13.2.2 是否需要XML数据库 305
13.2.3 数据与文档 305
13.2.4 XML数据库模型 308
13.3 数据模型 311
13.3.1 关系数据模型 311
13.3.2 XML数据模型 312
13.4 数据存储 316
13.5 系统结构 317
13.6 查询与索引 318
13.6.1 查询 318
13.6.2 索引 318
13.7 本章小结 319
习题13 319
第14章 深入Oracle学习XML 320
14.1 Oracle数据库对XML的支持 320
14.1.1 支持XML的数据库版本 320
14.1.2 什么时候需要XDB数据库属性 321
14.1.3 哪些版本支持XQuery 321
14.1.4 Oracle中XML数据的存储方式 321
14.2 以关系表存储XML数据 321
14.3 以XMLType方式存储XML数据 322
14.3.1 I/O操作速度对比 323
14.3.2 查询操作测试 328
14.3.3 更新操作测试 336
14.3.4 索引测试 337
14.4 本章小结 340
习题14 340
参考文献 341