《疯狂XML讲义(第3版)》PDF电子书免费下载

作者:  李刚

出版社: 电子工业出版社

出版年: 2019年10月

ISBN: 9787121375026

~~滚到底部有网盘下载链接~~

内容简介

目录

第1章 XML概述 1
1.1 XML的起源 2
1.1.1 标记语言 2
1.1.2 XML的基本概念 3
1.1.3 XML和HTML 4
1.2 XML的优势 4
1.2.1 简单易用的标记语言 4
1.2.2 严格的格式 5
1.2.3 数据逻辑和显示逻辑分离 6
1.3 XML和Java EE 6
1.3.1 配置描述 6
1.3.2 简化的数据交换 8
1.3.3 Web Service 8
1.4 XML的编辑工具 9
1.4.1 普通文本编辑工具 9
1.4.2 XMLSpy简介 9
1.4.3 使用XMLSpy编辑XML文档 10
1.5 XML的竞争对手 11
1.5.1 注解 11
1.5.2 轻量级的数据交换格式—JSON 13
1.6 本章小结 16
第2章 XML文档规则 17
2.1 XML文档的分类 18
2.1.1 格式不好的XML文档 18
2.1.2 格式良好但无效的XML文档 19
2.1.3 有效的XML文档 20
2.2 XML文档的整体结构 21
2.2.1 有且仅有一个根元素 21
2.2.2 元素必须合理结束 22
2.2.3 元素之间必须合理嵌套 22
2.2.4 元素的属性必须有值 23
2.3 XML声明 25
2.4 XML元素的基本规则 27
2.4.1 合法的标签名 27
2.4.2 嵌套子元素 28
2.4.3 空元素 28
2.5 字符数据 29
2.5.1 使用实体引用 30
2.5.2 使用CDATA标记 30
2.6 注释 31
2.7 处理指令 32
2.8 W3C对于属性的使用建议 33
2.9 换行处理 35
2.10 本章小结 35
本章练习 35
第3章 DTD详解 36
3.1 XML语义约束 37
3.2 引入DTD 38
3.2.1 内部DTD 38
3.2.2 外部DTD 39
3.2.3 公用DTD 40
3.3 DTD文档概览 41
3.3.1 DTD文档的结构 41
3.3.2 验证XML文档的有效性 41
3.4 定义元素 42
3.4.1 定义任意类型的元素 42
3.4.2 定义空元素 44
3.4.3 定义字符串内容的元素 44
3.4.4 定义混合内容的元素 45
3.5 定义子元素 46
3.5.1 有序的子元素 46
3.5.2 互斥的子元素 47
3.5.3 子元素出现的频率 48
3.5.4 组合子元素 49
3.5.5 无序的子元素 51
3.6 定义元素属性 52
3.6.1 对属性的约束规则 53
3.6.2 定义属性类型 55
3.7 定义实体 57
3.7.1 定义普通实体 58
3.7.2 定义参数实体 59
3.7.3 外部实体 60
3.7.4 外部参数实体 61
3.8 定义符号 61
3.8.1 未解析实体 62
3.8.2 ENTITY和ENTITIES类型的属性 63
3.8.3 NOTATION类型的属性 64
3.9 使用XMLSpy创建DTD 64
3.10 本章小结 66
本章练习 66
第4章 XML Schema基本语法 67
4.1 DTD和XML Schema 68
4.1.1 XML Schema概述及其优势 68
4.1.2 XML Schema在Java EE里的应用 69
4.2 XML Schema入门 70
4.2.1 XML Schema根元素 70
4.2.2 在XML中引用无命名空间的XML Schema 72
4.2.3 在XML中引用带命名空间的XML Schema 72
4.3 XML Schema中的注释 73
4.4 理解XML Schema的数据类型 74
4.5 XML Schema的内置类型 76
4.5.1 字符串及相关类型 78
4.5.2 数值类型 79
4.5.3 日期、时间类型 81
4.5.4 boolean类型 83
4.5.5 anyURI类型 83
4.5.6 二进制数据类型 84
4.5.7 XML Schema 1.1引入的anyAtomicType 84
4.6 使用限制派生新类型 85
4.6.1 指定基类型的两种方式 86
4.6.2 指定类型的两种方式 88
4.6.3 范围约束 90
4.6.4 长度约束 90
4.6.5 精度约束 90
4.6.6 枚举约束 91
4.6.7 正则表达式约束 92
4.6.8 空白处理 92
4.6.9 XML Schema 1.1新增的assertion约束 94
4.6.10 XML Schema 1.1新增的时区约束 95
4.7 使用派生列表类型 96
4.7.1 定义列表类型 97
4.7.2 限制列表类型 98
4.8 使用派生联合类型 100
4.8.1 定义联合类型 100
4.8.2 限制联合类型 102
4.9 列表类型和联合类型结合使用 103
4.10 阻止派生新的简单类型 104
4.10.1 使用final属性 104
4.10.2 为约束指定fixed属性 105
4.11 合并多个XML Schema 105
4.11.1 使用include元素 106
4.11.2 使用redefine元素 107
4.11.3 使用import元素 108
4.12 XMLSpy中关于XML Schema的操作 109
4.12.1 创建新的XML Schema文档 109
4.12.2 为XML文档创建XML Schema 110
4.12.3 为XML文档分配XML Schema 111
4.13 本章小结 111
第5章 XML Schema高级知识 112
5.1 使用anyType定义任意类型 113
5.2 定义复杂类型 114
5.2.1 定义复杂类型的方式 115
5.2.2 扩展简单类型 116
5.2.3 包含属性的两种方式 117
5.2.4 扩展包含简单内容的复杂类型 119
5.2.5 XML Schema 1.1改进的类型替换 120
5.2.6 限制包含简单内容的复杂类型 122
5.2.7 限制anyType派生新的类型 123
5.2.8 XML Schema 1.1改进的all元素 126
5.2.9 使用XML Schema 1.1的断言约束进行限制 127
5.2.10 包含子元素的两种方式 128
5.2.11 空元素类型 131
5.2.12 混合内容类型 132
5.3 复杂类型的进一步派生 133
5.3.1 限制空元素类型 133
5.3.2 扩展空元素类型 134
5.3.3 XML Schema 1.1改进后的限制
派生 135
5.3.4 扩展包含子元素的类型 138
5.3.5 限制混合内容类型 140
5.3.6 扩展混合内容类型 142
5.4 阻止派生新的类型 143
5.5 通配符 144
5.5.1 元素通配符 144
5.5.2 属性通配符 146
5.5.3 XML Schema 1.1对通配符的改进 147
5.6 元素替换 149
5.6.1 阻止自己被替换 151
5.6.2 阻止指定派生类型的替换 153
5.7 抽象元素和抽象类型 154
5.7.1 抽象元素 154
5.7.2 抽象类型 156
5.8 一致性约束 157
5.8.1 key约束 158
5.8.2 unique约束 160
5.8.3 keyref约束 161
5.9 元素组与属性组 163
5.10 定义符号 165
5.11 本章小结 166
本章练习 166
第6章 命名空间 167
6.1 导入命名空间 168
6.2 XML Schema的命名空间支持 170
6.2.1 在XML Schema中使用命名空间 170
6.2.2 命名空间对XML文档的作用 173
6.2.3 为属性使用命名空间限定 178
6.2.4 命名空间对一致性约束的影响 180
6.2.5 局部元素和局部属性的强制限定 181
6.3 命名空间和DTD 185
6.4 本章小结 187
第7章 使用XSLT显示XML文档 188
7.1 XSL简介 189
7.1.1 两种常用样式单及其优势 189
7.1.2 XSL概述 190
7.2 XSLT入门 190
7.2.1 XSLT转换入门 191
7.2.2 使用template元素定义模板 193
7.2.3 使用apply-templates处理子节点 194
7.2.4 使用value-of输出节点内容 197
7.2.5 匹配节点的模式 199
7.2.6 mode属性 201
7.3 XSLT转换分类 203
7.3.1 客户端转换和服务器端转换 203
7.3.2 Xalan处理器 204
7.3.3 Saxon处理器 206
7.4 XSLT的内置模板规则 208
7.5 流程控制元素 210
7.5.1 分支处理 210
7.5.2 循环控制 212
7.5.3 排序控制 214
7.6 控制空白的处理方式 216
7.7 创建结果树 216
7.7.1 创建元素和属性 217
7.7.2 创建文本 222
7.7.3 创建处理指令 223
7.7.4 创建注释 223
7.7.5 复制 224
7.7.6 输出格式化数值 226
7.8 变量和参数 231
7.8.1 为变量和参数指定值 231
7.8.2 全局与局部的变量和参数 233
7.8.3 改变参数值 234
7.9 使用命名模板 236
7.10 包含和导入 238
7.10.1 使用import导入 238
7.10.2 使用include包含 240
7.10.3 解决模板定义冲突 241
7.11 XSLT 1.1的fallback支持 241
7.12 指定输出格式 242
7.12.1 转换XML文档的相关格式 243
7.12.2 转换HTML文档的相关格式 244
7.13 XSLT的内置函数 245
7.13.1 使用system-property函数 245
7.13.2 使用current函数返回当前节点集 246
7.13.3 使用element-available和function-available函数 247
7.13.4 使用unparsed-entity-uri函数 247
7.13.5 使用document 函数处理多个源XML文档 248
7.13.6 使用format-number 函数 250
7.13.7 使用key函数 252
7.13.8 使用generate-id函数 254
7.14 XSLT 2.0新增的功能 255
7.14.1 分组 255
7.14.2 多文档输出 258
7.14.3 字符映射 259
7.14.4 元素的改进 260
7.14.5 数据类型绑定 261
7.14.6 正则表达式支持 262
7.14.7 用户自定义函数 263
7.15 使用XMLSpy管理XSLT操作 264
7.16 本章小结 265
本章练习 266
第8章 XPath详解 267
8.1 XPath语言简介 268
8.1.1 XPath节点 268
8.1.2 XPath基本概念 269
8.1.3 节点关系 269
8.2 绝对路径和相对路径 270
8.2.1 路径和步 270
8.2.2 XPath基路径 270
8.3 XPath基础语法 272
8.3.1 轴关系 272
8.3.2 节点测试 273
8.3.3 限定谓语 273
8.3.4 简化写法 274
8.4 运算符和表达式 274
8.4.1 算术运算符 275
8.4.2 比较运算符 275
8.4.3 逻辑运算符 276
8.4.4 XPath 3.x新增的字符串连接表达式 276
8.4.5 XPath 3.x新增的映射运算符 277
8.4.6 组合多个路径表达式的运算符 277
8.5 XPath 2.0新增的表达式 277
8.5.1 for表达式 278
8.5.2 if表达式 280
8.5.3 some/every判断表达式 281
8.6 XPath 2.0的类型支持 282
8.7 内置函数库 283
8.7.1 字符串相关函数 283
8.7.2 数值相关函数 285
8.7.3 日期和时间相关函数 286
8.7.4 boolean值相关函数 288
8.7.5 节点相关函数 289
8.7.6 序列相关函数 290
8.7.7 XPath 3.x新增的行内函数与动态函数调用 292
8.8 本章小结 292
第9章 DOM、SAX和JAXP解析 293
9.1 DOM、SAX和JAXP概述 294
9.2 JAXP的DOM支持 299
9.2.1 XML文档和DOM模型 299
9.2.2 DOM树中的对象类型 301
9.2.3 DOM解析器 301
9.2.4 使用DTD验证XML文档 302
9.2.5 使用DOM解析XML文档 304
9.2.6 使用DOM创建XML文档 307
9.2.7 使用DOM修改XML文档 309
9.2.8 解析DTD信息 310
9.2.9 DOM和命名空间 313
9.3 JAXP的SAX支持 314
9.3.1 SAX的处理机制 314
9.3.2 SAX解析器和监听器 315
9.3.3 使用DTD验证XML文档的有效性 319
9.3.4 使用SAX解析XML文档 320
9.3.5 SAX和命名空间 323
9.4 DOM和SAX的比较 326
9.5 使用XML Schema验证XML文档的有效性 327
9.5.1 SchemaFactory和验证 327
9.5.2 获取节点的类型信息 331
9.6 浏览器对DOM的支持 333
9.7 本章小结 335
本章练习 336
第10章 使用dom4j处理XML文档 337
10.1 dom4j简介 338
10.1.1 dom4j的封装和优势 338
10.1.2 下载和安装dom4j 339
10.2 dom4j常用API 340
10.3 使用dom4j访问XML文档 341
10.3.1 验证XML文档的有效性 341
10.3.2 使用dom4j解析XML文档 342
10.3.3 使用访问者模式遍历XML文档 344
10.4 使用dom4j创建XML文档 346
10.5 修改XML文档 347
10.6 使用dom4j获取命名空间信息 348
10.7 本章小结 350
本章练习 351
第11章 使用JDOM处理XML文档 352
11.1 JDOM简介 353
11.1.1 JDOM常用API 353
11.1.2 下载和安装JDOM 354
11.2 使用JDOM访问XML文档的实例 355
11.2.1 验证XML文档的有效性 355
11.2.2 使用JDOM解析XML文档 356
11.3 使用JDOM创建XML文档 358
11.4 修改XML文档 359
11.5 使用JDOM获取命名空间信息 360
11.6 选择dom4j还是JDOM 362
11.7 本章小结 363
本章练习 363
第12章 XQuery详解 364
12.1 XQuery简介 365
12.1.1 XQuery和XPath的关系 365
12.1.2 XQuery和XSLT的关系 366
12.2 使用XQuery 366
12.2.1 使用XMLSpy查看XQuery查询结果 367
12.2.2 使用Saxon执行XQuery查询 368
12.3 基本表达式 369
12.3.1 直接量 369
12.3.2 变量引用 369
12.3.3 圆括号表达式 369
12.3.4 上下文项表达式 369
12.3.5 函数调用 370
12.4 序列表达式 370
12.4.1 构造序列 370
12.4.2 过滤表达式 370
12.4.3 组合节点序列 371
12.5 算术表达式 372
12.6 比较表达式 373
12.6.1 值比较 373
12.6.2 通用比较 373
12.6.3 节点比较 374
12.7 逻辑表达式 374
12.8 构造器 375
12.8.1 直接构造 375
12.8.2 计算构造 375
12.9 FLWOR表达式 376
12.9.1 for、let和return子句 376
12.9.2 where子句 378
12.9.3 order by子句 378
12.10 if表达式 379
12.11 some/every判断表达式 379
12.12 与序列类型有关的表达式 380
12.12.1 instance of 380
12.12.2 typeswitch 380
12.12.3 cast 381
12.12.4 castable 382
12.13 模块和序言 382
12.13.1 序言 382
12.13.2 版本声明 382
12.13.3 模块声明 383
12.13.4 设置器 383
12.13.5 导入设置 385
12.13.6 命名空间声明 387
12.13.7 默认命名空间声明 387
12.13.8 变量声明 388
12.13.9 函数声明 389
12.13.10 选项声明 390
12.14 XQuery 3的数组和Map 391
12.14.1 数组支持 391
12.14.2 Map支持 392
12.14.3 数组和Map支持的“?”运算符 393
12.15 使用XQJ执行XQuery查询 394
12.15.1 XQJ和JDBC的类似性 394
12.15.2 XQJ的编程步骤 395
12.16 本章小结 398
第13章 Web Service详解 399
13.1 XML和Web Service 400
13.1.1 Web Service概述 400
13.1.2 Web Service平台概述 401
13.1.3 Web Service的广泛应用 402
13.2 SOA和云计算 404
13.2.1 SOA和Web Service 404
13.2.2 云计算和Web Service 405
13.3 Web Service开发 406
13.3.1 CXF概述 406
13.3.2 下载和安装CXF 407
13.3.3 使用CXF开发Web Service 408
13.3.4 客户端开发 413
13.3.5 复杂类型的处理 415
13.4 XML和WSDL 417
13.4.1 WSDL基本语法 418
13.4.2 portType元素 420
13.4.3 binding元素 422
13.4.4 service元素 424
13.5 XML和SOAP协议 425
13.5.1 使用拦截器 425
13.5.2 SOAP基本语法 428
13.5.3 Header元素 429
13.5.4 Body元素 430
13.5.5 Fault元素 431
13.5.6 SOAP、WSDL和UDDI 432
13.5.7 使用拦截器进行权限控制 433
13.6 整合Spring开发Web Service 436
13.6.1 在Spring中使用CXF 436
13.6.2 通过Spring启用CXF拦截器 440
13.6.3 在Spring容器中配置Web Service客户端 440
13.7 本章小结 443
第14章 基于XML的电子公告系统 444
14.1 系统设计 445
14.2 设计XML文档 446
14.2.1 保存状态的XML文档 446
14.2.2 定义XML Schema 448
14.3 定义XSLT样式单 450
14.3.1 为公告列表定义样式单 450
14.3.2 为用户评论设计样式单 452
14.4 实现控制器 454
14.4.1 添加公告 454
14.4.2 查看评论列表 457
14.4.3 添加评论 458
14.5 本章小结 461
本章练习 461
第15章 Web Service案例:电子拍卖系统 462
15.1 系统功能简介和架构设计 463
15.1.1 系统功能简介 463
15.1.2 系统架构设计 464
15.2 持久层设计 465
15.2.1 系统实体 465
15.2.2 系统E-R图和数据表 465
15.2.3 实现Hibernate PO 467
15.2.4 管理SessionFactory 469
15.3 实现系统DAO层 470
15.3.1 实现DAO组件的基类 470
15.3.2 实现系统DAO组件 473
15.3.3 配置系统DAO组件 476
15.4 实现业务逻辑层 477
15.4.1 定义业务逻辑组件接口 477
15.4.2 依赖注入DAO组件 479
15.4.3 业务逻辑组件中的异常处理 480
15.4.4 处理用户竞价 481
15.4.5 判断拍卖物品状态 483
15.4.6 事务管理 485
15.4.7 配置业务层组件 486
15.5 使用CXF提供Web Service 488
15.5.1 启用CXF支持 488
15.5.2 实现Web Service组件 489
15.5.3 测试Web Service 495
15.6 本章小结 497
本章练习,第1章 XML概述 1
1.1 XML的起源 2
1.1.1 标记语言 2
1.1.2 XML的基本概念 3
1.1.3 XML和HTML 4
1.2 XML的优势 4
1.2.1 简单易用的标记语言 4
1.2.2 严格的格式 5
1.2.3 数据逻辑和显示逻辑分离 6
1.3 XML和Java EE 6
1.3.1 配置描述 6
1.3.2 简化的数据交换 8
1.3.3 Web Service 8
1.4 XML的编辑工具 9
1.4.1 普通文本编辑工具 9
1.4.2 XMLSpy简介 9
1.4.3 使用XMLSpy编辑XML文档 10
1.5 XML的竞争对手 11
1.5.1 注解 11
1.5.2 轻量级的数据交换格式—JSON 13
1.6 本章小结 16
第2章 XML文档规则 17
2.1 XML文档的分类 18
2.1.1 格式不好的XML文档 18
2.1.2 格式良好但无效的XML文档 19
2.1.3 有效的XML文档 20
2.2 XML文档的整体结构 21
2.2.1 有且仅有一个根元素 21
2.2.2 元素必须合理结束 22
2.2.3 元素之间必须合理嵌套 22
2.2.4 元素的属性必须有值 23
2.3 XML声明 25
2.4 XML元素的基本规则 27
2.4.1 合法的标签名 27
2.4.2 嵌套子元素 28
2.4.3 空元素 28
2.5 字符数据 29
2.5.1 使用实体引用 30
2.5.2 使用CDATA标记 30
2.6 注释 31
2.7 处理指令 32
2.8 W3C对于属性的使用建议 33
2.9 换行处理 35
2.10 本章小结 35
本章练习 35
第3章 DTD详解 36
3.1 XML语义约束 37
3.2 引入DTD 38
3.2.1 内部DTD 38
3.2.2 外部DTD 39
3.2.3 公用DTD 40
3.3 DTD文档概览 41
3.3.1 DTD文档的结构 41
3.3.2 验证XML文档的有效性 41
3.4 定义元素 42
3.4.1 定义任意类型的元素 42
3.4.2 定义空元素 44
3.4.3 定义字符串内容的元素 44
3.4.4 定义混合内容的元素 45
3.5 定义子元素 46
3.5.1 有序的子元素 46
3.5.2 互斥的子元素 47
3.5.3 子元素出现的频率 48
3.5.4 组合子元素 49
3.5.5 无序的子元素 51
3.6 定义元素属性 52
3.6.1 对属性的约束规则 53
3.6.2 定义属性类型 55
3.7 定义实体 57
3.7.1 定义普通实体 58
3.7.2 定义参数实体 59
3.7.3 外部实体 60
3.7.4 外部参数实体 61
3.8 定义符号 61
3.8.1 未解析实体 62
3.8.2 ENTITY和ENTITIES类型的属性 63
3.8.3 NOTATION类型的属性 64
3.9 使用XMLSpy创建DTD 64
3.10 本章小结 66
本章练习 66
第4章 XML Schema基本语法 67
4.1 DTD和XML Schema 68
4.1.1 XML Schema概述及其优势 68
4.1.2 XML Schema在Java EE里的应用 69
4.2 XML Schema入门 70
4.2.1 XML Schema根元素 70
4.2.2 在XML中引用无命名空间的XML Schema 72
4.2.3 在XML中引用带命名空间的XML Schema 72
4.3 XML Schema中的注释 73
4.4 理解XML Schema的数据类型 74
4.5 XML Schema的内置类型 76
4.5.1 字符串及相关类型 78
4.5.2 数值类型 79
4.5.3 日期、时间类型 81
4.5.4 boolean类型 83
4.5.5 anyURI类型 83
4.5.6 二进制数据类型 84
4.5.7 XML Schema 1.1引入的anyAtomicType 84
4.6 使用限制派生新类型 85
4.6.1 指定基类型的两种方式 86
4.6.2 指定类型的两种方式 88
4.6.3 范围约束 90
4.6.4 长度约束 90
4.6.5 精度约束 90
4.6.6 枚举约束 91
4.6.7 正则表达式约束 92
4.6.8 空白处理 92
4.6.9 XML Schema 1.1新增的assertion约束 94
4.6.10 XML Schema 1.1新增的时区约束 95
4.7 使用派生列表类型 96
4.7.1 定义列表类型 97
4.7.2 限制列表类型 98
4.8 使用派生联合类型 100
4.8.1 定义联合类型 100
4.8.2 限制联合类型 102
4.9 列表类型和联合类型结合使用 103
4.10 阻止派生新的简单类型 104
4.10.1 使用final属性 104
4.10.2 为约束指定fixed属性 105
4.11 合并多个XML Schema 105
4.11.1 使用include元素 106
4.11.2 使用redefine元素 107
4.11.3 使用import元素 108
4.12 XMLSpy中关于XML Schema的操作 109
4.12.1 创建新的XML Schema文档 109
4.12.2 为XML文档创建XML Schema 110
4.12.3 为XML文档分配XML Schema 111
4.13 本章小结 111
第5章 XML Schema高级知识 112
5.1 使用anyType定义任意类型 113
5.2 定义复杂类型 114
5.2.1 定义复杂类型的方式 115
5.2.2 扩展简单类型 116
5.2.3 包含属性的两种方式 117
5.2.4 扩展包含简单内容的复杂类型 119
5.2.5 XML Schema 1.1改进的类型替换 120
5.2.6 限制包含简单内容的复杂类型 122
5.2.7 限制anyType派生新的类型 123
5.2.8 XML Schema 1.1改进的all元素 126
5.2.9 使用XML Schema 1.1的断言约束进行限制 127
5.2.10 包含子元素的两种方式 128
5.2.11 空元素类型 131
5.2.12 混合内容类型 132
5.3 复杂类型的进一步派生 133
5.3.1 限制空元素类型 133
5.3.2 扩展空元素类型 134
5.3.3 XML Schema 1.1改进后的限制
派生 135
5.3.4 扩展包含子元素的类型 138
5.3.5 限制混合内容类型 140
5.3.6 扩展混合内容类型 142
5.4 阻止派生新的类型 143
5.5 通配符 144
5.5.1 元素通配符 144
5.5.2 属性通配符 146
5.5.3 XML Schema 1.1对通配符的改进 147
5.6 元素替换 149
5.6.1 阻止自己被替换 151
5.6.2 阻止指定派生类型的替换 153
5.7 抽象元素和抽象类型 154
5.7.1 抽象元素 154
5.7.2 抽象类型 156
5.8 一致性约束 157
5.8.1 key约束 158
5.8.2 unique约束 160
5.8.3 keyref约束 161
5.9 元素组与属性组 163
5.10 定义符号 165
5.11 本章小结 166
本章练习 166
第6章 命名空间 167
6.1 导入命名空间 168
6.2 XML Schema的命名空间支持 170
6.2.1 在XML Schema中使用命名空间 170
6.2.2 命名空间对XML文档的作用 173
6.2.3 为属性使用命名空间限定 178
6.2.4 命名空间对一致性约束的影响 180
6.2.5 局部元素和局部属性的强制限定 181
6.3 命名空间和DTD 185
6.4 本章小结 187
第7章 使用XSLT显示XML文档 188
7.1 XSL简介 189
7.1.1 两种常用样式单及其优势 189
7.1.2 XSL概述 190
7.2 XSLT入门 190
7.2.1 XSLT转换入门 191
7.2.2 使用template元素定义模板 193
7.2.3 使用apply-templates处理子节点 194
7.2.4 使用value-of输出节点内容 197
7.2.5 匹配节点的模式 199
7.2.6 mode属性 201
7.3 XSLT转换分类 203
7.3.1 客户端转换和服务器端转换 203
7.3.2 Xalan处理器 204
7.3.3 Saxon处理器 206
7.4 XSLT的内置模板规则 208
7.5 流程控制元素 210
7.5.1 分支处理 210
7.5.2 循环控制 212
7.5.3 排序控制 214
7.6 控制空白的处理方式 216
7.7 创建结果树 216
7.7.1 创建元素和属性 217
7.7.2 创建文本 222
7.7.3 创建处理指令 223
7.7.4 创建注释 223
7.7.5 复制 224
7.7.6 输出格式化数值 226
7.8 变量和参数 231
7.8.1 为变量和参数指定值 231
7.8.2 全局与局部的变量和参数 233
7.8.3 改变参数值 234
7.9 使用命名模板 236
7.10 包含和导入 238
7.10.1 使用import导入 238
7.10.2 使用include包含 240
7.10.3 解决模板定义冲突 241
7.11 XSLT 1.1的fallback支持 241
7.12 指定输出格式 242
7.12.1 转换XML文档的相关格式 243
7.12.2 转换HTML文档的相关格式 244
7.13 XSLT的内置函数 245
7.13.1 使用system-property函数 245
7.13.2 使用current函数返回当前节点集 246
7.13.3 使用element-available和function-available函数 247
7.13.4 使用unparsed-entity-uri函数 247
7.13.5 使用document 函数处理多个源XML文档 248
7.13.6 使用format-number 函数 250
7.13.7 使用key函数 252
7.13.8 使用generate-id函数 254
7.14 XSLT 2.0新增的功能 255
7.14.1 分组 255
7.14.2 多文档输出 258
7.14.3 字符映射 259
7.14.4 元素的改进 260
7.14.5 数据类型绑定 261
7.14.6 正则表达式支持 262
7.14.7 用户自定义函数 263
7.15 使用XMLSpy管理XSLT操作 264
7.16 本章小结 265
本章练习 266
第8章 XPath详解 267
8.1 XPath语言简介 268
8.1.1 XPath节点 268
8.1.2 XPath基本概念 269
8.1.3 节点关系 269
8.2 绝对路径和相对路径 270
8.2.1 路径和步 270
8.2.2 XPath基路径 270
8.3 XPath基础语法 272
8.3.1 轴关系 272
8.3.2 节点测试 273
8.3.3 限定谓语 273
8.3.4 简化写法 274
8.4 运算符和表达式 274
8.4.1 算术运算符 275
8.4.2 比较运算符 275
8.4.3 逻辑运算符 276
8.4.4 XPath 3.x新增的字符串连接表达式 276
8.4.5 XPath 3.x新增的映射运算符 277
8.4.6 组合多个路径表达式的运算符 277
8.5 XPath 2.0新增的表达式 277
8.5.1 for表达式 278
8.5.2 if表达式 280
8.5.3 some/every判断表达式 281
8.6 XPath 2.0的类型支持 282
8.7 内置函数库 283
8.7.1 字符串相关函数 283
8.7.2 数值相关函数 285
8.7.3 日期和时间相关函数 286
8.7.4 boolean值相关函数 288
8.7.5 节点相关函数 289
8.7.6 序列相关函数 290
8.7.7 XPath 3.x新增的行内函数与动态函数调用 292
8.8 本章小结 292
第9章 DOM、SAX和JAXP解析 293
9.1 DOM、SAX和JAXP概述 294
9.2 JAXP的DOM支持 299
9.2.1 XML文档和DOM模型 299
9.2.2 DOM树中的对象类型 301
9.2.3 DOM解析器 301
9.2.4 使用DTD验证XML文档 302
9.2.5 使用DOM解析XML文档 304
9.2.6 使用DOM创建XML文档 307
9.2.7 使用DOM修改XML文档 309
9.2.8 解析DTD信息 310
9.2.9 DOM和命名空间 313
9.3 JAXP的SAX支持 314
9.3.1 SAX的处理机制 314
9.3.2 SAX解析器和监听器 315
9.3.3 使用DTD验证XML文档的有效性 319
9.3.4 使用SAX解析XML文档 320
9.3.5 SAX和命名空间 323
9.4 DOM和SAX的比较 326
9.5 使用XML Schema验证XML文档的有效性 327
9.5.1 SchemaFactory和验证 327
9.5.2 获取节点的类型信息 331
9.6 浏览器对DOM的支持 333
9.7 本章小结 335
本章练习 336
第10章 使用dom4j处理XML文档 337
10.1 dom4j简介 338
10.1.1 dom4j的封装和优势 338
10.1.2 下载和安装dom4j 339
10.2 dom4j常用API 340
10.3 使用dom4j访问XML文档 341
10.3.1 验证XML文档的有效性 341
10.3.2 使用dom4j解析XML文档 342
10.3.3 使用访问者模式遍历XML文档 344
10.4 使用dom4j创建XML文档 346
10.5 修改XML文档 347
10.6 使用dom4j获取命名空间信息 348
10.7 本章小结 350
本章练习 351
第11章 使用JDOM处理XML文档 352
11.1 JDOM简介 353
11.1.1 JDOM常用API 353
11.1.2 下载和安装JDOM 354
11.2 使用JDOM访问XML文档的实例 355
11.2.1 验证XML文档的有效性 355
11.2.2 使用JDOM解析XML文档 356
11.3 使用JDOM创建XML文档 358
11.4 修改XML文档 359
11.5 使用JDOM获取命名空间信息 360
11.6 选择dom4j还是JDOM 362
11.7 本章小结 363
本章练习 363
第12章 XQuery详解 364
12.1 XQuery简介 365
12.1.1 XQuery和XPath的关系 365
12.1.2 XQuery和XSLT的关系 366
12.2 使用XQuery 366
12.2.1 使用XMLSpy查看XQuery查询结果 367
12.2.2 使用Saxon执行XQuery查询 368
12.3 基本表达式 369
12.3.1 直接量 369
12.3.2 变量引用 369
12.3.3 圆括号表达式 369
12.3.4 上下文项表达式 369
12.3.5 函数调用 370
12.4 序列表达式 370
12.4.1 构造序列 370
12.4.2 过滤表达式 370
12.4.3 组合节点序列 371
12.5 算术表达式 372
12.6 比较表达式 373
12.6.1 值比较 373
12.6.2 通用比较 373
12.6.3 节点比较 374
12.7 逻辑表达式 374
12.8 构造器 375
12.8.1 直接构造 375
12.8.2 计算构造 375
12.9 FLWOR表达式 376
12.9.1 for、let和return子句 376
12.9.2 where子句 378
12.9.3 order by子句 378
12.10 if表达式 379
12.11 some/every判断表达式 379
12.12 与序列类型有关的表达式 380
12.12.1 instance of 380
12.12.2 typeswitch 380
12.12.3 cast 381
12.12.4 castable 382
12.13 模块和序言 382
12.13.1 序言 382
12.13.2 版本声明 382
12.13.3 模块声明 383
12.13.4 设置器 383
12.13.5 导入设置 385
12.13.6 命名空间声明 387
12.13.7 默认命名空间声明 387
12.13.8 变量声明 388
12.13.9 函数声明 389
12.13.10 选项声明 390
12.14 XQuery 3的数组和Map 391
12.14.1 数组支持 391
12.14.2 Map支持 392
12.14.3 数组和Map支持的“?”运算符 393
12.15 使用XQJ执行XQuery查询 394
12.15.1 XQJ和JDBC的类似性 394
12.15.2 XQJ的编程步骤 395
12.16 本章小结 398
第13章 Web Service详解 399
13.1 XML和Web Service 400
13.1.1 Web Service概述 400
13.1.2 Web Service平台概述 401
13.1.3 Web Service的广泛应用 402
13.2 SOA和云计算 404
13.2.1 SOA和Web Service 404
13.2.2 云计算和Web Service 405
13.3 Web Service开发 406
13.3.1 CXF概述 406
13.3.2 下载和安装CXF 407
13.3.3 使用CXF开发Web Service 408
13.3.4 客户端开发 413
13.3.5 复杂类型的处理 415
13.4 XML和WSDL 417
13.4.1 WSDL基本语法 418
13.4.2 portType元素 420
13.4.3 binding元素 422
13.4.4 service元素 424
13.5 XML和SOAP协议 425
13.5.1 使用拦截器 425
13.5.2 SOAP基本语法 428
13.5.3 Header元素 429
13.5.4 Body元素 430
13.5.5 Fault元素 431
13.5.6 SOAP、WSDL和UDDI 432
13.5.7 使用拦截器进行权限控制 433
13.6 整合Spring开发Web Service 436
13.6.1 在Spring中使用CXF 436
13.6.2 通过Spring启用CXF拦截器 440
13.6.3 在Spring容器中配置Web Service客户端 440
13.7 本章小结 443
第14章 基于XML的电子公告系统 444
14.1 系统设计 445
14.2 设计XML文档 446
14.2.1 保存状态的XML文档 446
14.2.2 定义XML Schema 448
14.3 定义XSLT样式单 450
14.3.1 为公告列表定义样式单 450
14.3.2 为用户评论设计样式单 452
14.4 实现控制器 454
14.4.1 添加公告 454
14.4.2 查看评论列表 457
14.4.3 添加评论 458
14.5 本章小结 461
本章练习 461
第15章 Web Service案例:电子拍卖系统 462
15.1 系统功能简介和架构设计 463
15.1.1 系统功能简介 463
15.1.2 系统架构设计 464
15.2 持久层设计 465
15.2.1 系统实体 465
15.2.2 系统E-R图和数据表 465
15.2.3 实现Hibernate PO 467
15.2.4 管理SessionFactory 469
15.3 实现系统DAO层 470
15.3.1 实现DAO组件的基类 470
15.3.2 实现系统DAO组件 473
15.3.3 配置系统DAO组件 476
15.4 实现业务逻辑层 477
15.4.1 定义业务逻辑组件接口 477
15.4.2 依赖注入DAO组件 479
15.4.3 业务逻辑组件中的异常处理 480
15.4.4 处理用户竞价 481
15.4.5 判断拍卖物品状态 483
15.4.6 事务管理 485
15.4.7 配置业务层组件 486
15.5 使用CXF提供Web Service 488
15.5.1 启用CXF支持 488
15.5.2 实现Web Service组件 489
15.5.3 测试Web Service 495
15.6 本章小结 497

下载价格:免费
立即下载
登入/注册
知识就是力量
没有账号? 忘记密码?