第1章 XML引言 1
1.1 XML的发展历史 1
1.1.1 标记语言的出现 1
1.1.2 标记语言的特点 2
1.1.3 RTF标记语言 3
1.1.4 HTML标记语言 7
1.1.5 标准通用标记语言 11
1.1.6 可扩展标记语言 11
1.2 XML基础知识 15
1.2.1 XML的定义 15
1.2.2 XML的设计目标 15
1.2.3 XML的样式语言 16
1.2.4 XML的链接语言 22
1.2.5 XML的名称空间 23
1.2.6 XML的文档对象模型 23
1.2.7 XML的文档类型定义 23
1.2.8 XML的文档类型模式 24
1.3 XML的应用 26
1.3.1 XML在科学和数学领域中的应用 26
1.3.2 XML在化学领域中的应用 28
1.3.3 矢量标记语言 29
1.3.4 音乐标记语言 30
1.3.5 资源描述框架 30
1.3.6 人力资源标记语言 30
1.3.7 开放的金融交换标准 31
1.3.8 可扩展表单描述语言 31
1.3.9 无线标记语言 31
1.3.10 同步多媒体合成语言 32
1.4 小结 33
第2章 XML应用程序 34
2.1 良构的XML文档 34
2.1.1 问题的描述 34
2.1.2 使用记事本创建XML文档 35
2.1.3 良构的XML文档 37
2.2 XML文档中的中文编码问题 46
2.3 XML的解析器 48
2.4 XML文件的结构 51
2.4.1 处理指令 52
2.4.2 文件格式定义 52
2.4.3 XML文档的树状结构 53
2.4.4 标记的命名规则 54
2.4.5 XML文档的属性 54
2.4.6 XML文档中的注释 55
2.4.7 程序中的文字CDATA标记 57
2.5 教学信息标记语言设计 59
2.6 小结 64
第3章 使用CSS格式化XML页面 65
3.1 CSS技术简介 65
3.2 CSS文档的基本语法 66
3.2.1 样式的直接定义法 66
3.2.2 成组选择符 67
3.2.3 利用CLASS来定义样式 68
3.2.4 在CSS文件中使用ID 69
3.2.5 STYLE属性的使用 70
3.2.6 CSS的继承特性 70
3.2.7 使用@import结合样式表单 71
3.2.8 !important声明 72
3.3 将CSS和XML结合的方法 73
3.3.1 独立样式文件 73
3.3.2 将样式语句嵌入到XML文件中 75
3.3.3 混合方法指定样式 77
3.3.4 使用多个样式文件 79
3.4 CSS格式化XML文档 81
3.4.1 文字属性 81
3.4.2 定位属性 83
3.4.3 版式属性 91
3.5 在XML中使用HTML的标记 99
3.5.1 在XML文档中显示图形 99
3.5.2 在XML文档中使用超链接 100
3.5.3 XML中的换行分段标记 101
3.5.4 在XML文档中实现表格 101
3.5.5 在XML文档中显示表单 102
3.6 在XML文档中添加脚本语言 104
3.7 学生选课管理系统样式设计 105
3.7.1 学生信息样式的设计 106
3.7.2 课程信息的显示 108
3.7.3 教师信息的显示样式 110
3.8 小结 112
第4章 使用XSL显示XML页面 113
4.1 XSL的特点 113
4.2 使用XSL格式化XML页面的例子 114
4.3 XSL的模式语言 118
4.3.1 相对定位和绝对定位 118
4.3.2 XSL的路径匹配模式 122
4.3.3 XSL的控制语句 137
4.4 在XSL中使用脚本语句 145
4.5 多模板XSL文件格式 146
4.5.1 多模板XSL程序的作用机理 148
4.5.2 多模板程序设计方法 151
4.6 选课系统XSLT样式设计 152
4.6.1 绘制整个系统的XML结构图 154
4.6.2 设计学生信息的XSL模板 154
4.6.3 设计课程信息的XSL模板 156
4.6.4 设计教师信息的XSL模板 158
4.7 小结 160
第5章 XML文档类型定义 161
5.1 文档类型定义 161
5.2 文档类型声明 161
5.2.1 内部DTD的声明 161
5.2.2 外部DTD的声明 163
5.2.3 外部DTD和内部DTD联合使用 164
5.3 元素声明的语法 165
5.3.1 #PCDATA型数据 165
5.3.2 ANY 166
5.3.3 声明子标记的一般语法 168
5.3.4 可选择的子标记 169
5.3.5 复合标记类型定义 171
5.3.6 混合型标记 173
5.3.7 空标记的定义方法 175
5.3.8 DTD中注释的使用语法 175
5.4 实体的声明和使用 177
5.4.1 内部一般实体 177
5.4.2 外部一般实体 180
5.4.3 内部参数实体 181
5.4.4 外部参数实体 184
5.5 属性的声明和内容类型 185
5.5.1 属性的声明 185
5.5.2 属性的内容类型 189
5.6 项目设计(设计SCLML学生选课系统标记语言) 197
5.6.1 设计系统的DTD片段 198
5.6.2 设计系统DTD文档 199
5.6.3 系统的XML数据片段 200
5.6.4 系统的所有数据 201
5.7 小结 202
第6章 XML中的名称空间 203
6.1 名称空间的基本概念 203
6.2 名称的声明 203
6.3 名称空间的范畴 205
6.4 默认的名称 207
6.5 使用名称的属性 208
6.6 小结 210
第7章 XML Schema概述 211
7.1 XML Schema的文档结构 211
7.1.1 XML Schema文档模板 211
7.1.2 XML Schema文档的组成 212
7.2 标记与属性的定义 213
7.2.1 简单标记的定义 213
7.2.2 标记属性的定义 215
7.2.3 标记子标记的定义 217
7.3 特殊类型属性或标记的定义 218
7.3.1 数值范围的限制方法 219
7.3.2 字符串的限制方法 219
7.3.3 数值位数的显示方法 222
7.3.4 枚举的显示方法 222
7.3.5 列表类型 223
7.3.6 联合类型 224
7.4 复杂数据类型 224
7.5 元素的子元素的出现次数 226
7.6 子标记与属性的分组定义 227
7.7 Schema的名称空间 229
7.8 XML Schema中的注释 231
7.9 小结 232
第8章 XML的数据源对象(数据岛) 233
8.1 数据岛的一般概念 233
8.1.1 DSO的数据显示方法 233
8.1.2 内嵌的数据岛 234
8.1.3 外部调用数据的数据岛 236
8.2 数据岛的数据显示 238
8.2.1 通过简单表格来显示数据岛数据 238
8.2.2 通过嵌套表格来显示数据岛数据 239
8.3 通过记录集管理数据岛 244
8.3.1 创建一个记录集 245
8.3.2 通过记录集访问数据岛中各个标记的方法 247
8.3.3 操作记录集的方法 248
8.3.4 遍历记录集 249
8.3.5 对记录集进行分页 252
8.3.6 把记录取到数组中 255
8.4 数据源对象的属性和方法 256
8.4.1 数据岛文档的根标记 256
8.4.2 数据岛中的节点 257
8.4.3 带有数据类型的XML数据岛 259
8.4.4 节点数据类型的访问和设定 262
8.5 项目应用——使用数据岛实现数据库查询的分页显示 263
8.6 小结 264
第9章 JAXP与Java XML程序设计 265
9.1 Java处理XML概述 265
9.2 Java处理XML文件的接口 266
9.3 Java常用的解析器 267
9.4 使用JAXP操作XML数据 268
9.4.1 通过JAXP以DOM方式操作XML 269
9.4.2 通过JAXP以SAX方式操作XML 271
9.5 小结 273
第10章 Java SAX程序设计 274
10.1 SAX解析基本原理 274
10.2 SAX解析XML的模式 275
10.2.1 XMLReader模式 276
10.2.2 DefaultHandler模式 280
10.2.3 HandlerBase模式 281
10.3 SAX解析属性数据 284
10.4 使用处理指令处理XML数据 286
10.5 处理SAX解析过程中的错误信息 288
10.6 SAX过滤器 293
10.6.1 SAX过滤器基本原理 293
10.6.2 SAX过滤器程序设计模式 294
10.7 小结 297
第11章 使用DOM管理XML文档 298
11.1 声明一个DOM文档对象 298
11.2 使用DOM技术访问XML文档节点 301
11.3 节点对象的属性 303
11.3.1 标记属性的读取操作 303
11.3.2 标记的类型 305
11.4 节点和属性的创建 307
11.4.1 输出一个Document对象 308
11.4.2 创建一个节点 309
11.5 复制某一个子节点 312
11.6 节点的删除与编辑 316
11.7 节点的XPATH查询 318
11.8 基于DOM的XSLT转换 321
11.9 基于DOM的合法性验证 324
11.9.1 基于DTD的合法性验证 325
11.9.2 基于Schema的合法性验证 327
11.10 小结 329
第12章 使用JDOM管理XML文档 330
12.1 JDOM概述 330
12.2 XML文档解析 333
12.2.1 从文件加载XML数据 334
12.2.2 从字符串加载XML数据 334
12.3 JDOM对XML的合法性验证 336
12.3.1 基于DTD的合法性验证 336
12.3.2 基于Schema的合法性验证 338
12.4 使用JDOM创建XML文件 339
12.4.1 创建一个标记和属性 339
12.4.2 文档类型定义的声明 341
12.4.3 名称空间的生成 343
12.4.4 JDOM节点的复制和移动 345
12.5 JDOM节点的导航和枚举 346
12.5.1 JDOM XPath节点查找 346
12.5.2 JDOM枚举XML数据文件的节点 347
12.6 JDOM进行XSLT转换 349
12.7 JDOM和DOM、SAX接口的转换 352
12.7.1 JDOM和DOM对象之间的相互转换 352
12.7.2 JDOM和SAX对象之间的相互转换 355
12.8 小结 358
第13章 XML对象加载型配置系统设计 359
13.1 XML对象加载概述 359
13.1.1 XML描述对象系统 360
13.1.2 对象加载系统的设计 362
13.2 Tomcat对象加载结构 364
13.2.1 对象加载模块的类结构 365
13.2.2 XML对象加载上下文 365
13.2.3 系统的算法模型 367
13.2.4 系统的XML节点匹配模型 376
13.2.5 系统的规则集合 378
13.3 Tomcat对象加载行为模型 379
13.3.1 DoucmentHanler接口所规定的行为 380
13.3.2 SaxContext接口所规定的行为 384
13.3.3 算法类工厂方法接口 384
13.3.4 DTDHandler接口的方法 386
13.3.5 EntityResolver接口所规定的方法 386
13.3.6 XML文件解析 388
13.3.7 XMLMapper对象的初始化 389
13.4 Tomcat类加载模块的重用 391
13.4.1 使用Java程序指定规则 391
13.4.2 使用XML配置文件制定规则 392
13.5 小结 393
附录 软件调试环境 394