前言 1
第1章 XQuery介绍 1
1.1 什么是XQuery 1
1.2 转向XQuery 3
1.3 路径表达式 5
1.4 FLWOR表达式 6
1.5 添加XML元素和属性 7
1.6 函数 10
1.7 连接 10
1.8 求和与分组 11
第2章 XQuery基础 12
2.1 XQuery语言的设计 12
2.2 XQuery与其他标准的关系 13
2.3 处理查询 15
2.4 XQuery数据模型 17
2.5 类型 24
2.6 命名空间 24
第3章 表达式:XQuery的组成部分 26
3.1 表达式种类 26
3.2 关键字和名称 27
3.3 查询中的空白符 27
3.4 字面值 28
3.5 变量 28
3.6 函数调用 29
3.7 注释 29
3.8 计算顺序和括号 30
3.9 比较表达式 30
3.10 条件(if-then-else)表达式 35
3.11 逻辑表达式 37
第4章 使用路径定位输入文件 39
4.1 路径表达式 39
4.2 谓词 46
4.3 动态路径 52
4.4 输入文件 52
4.5 深入了解上下文 55
第5章 在结果中增加元素和属性 57
5.1 包含输入文件中的元素和属性 57
5.2 直接元素构造器 58
5.3 计算构造器 68
第6章 使用FLWOR表达式查询和连接 72
6.1 使用路径表达式查询 72
6.2 FLWOR表达式 72
6.3 量化表达式 79
6.4 选择不同的值 81
6.5 连接 81
第7章 排序和分组 85
7.1 XQuery中的排序 85
7.2 分组 93
7.3 对值求聚合 94
第8章 函数 99
8.1 内置函数与用户自定义函数 99
8.2 调用函数 99
8.3 用户自定义函数 103
第9章 高级查询 110
9.1 复制并修改输入文件 110
9.2 使用位置和序列编号 115
9.3 合并结果 118
9.4 使用中间XML文档 119
第10章 命名空间与XQuery 123
10.1 命名空间 123
10.2 命名空间和XQuery 127
10.3 查询中的命名空间声明 128
10.4 在结果中控制命名空间声明 135
第11章 深入了解类型 141
11.1 XQuery类型系统 141
11.2 内置类型 143
11.3 类型、节点和原子值 145
11.4 XQuery中的类型检查 146
11.5 自动类型转换 147
11.6 序列类型 151
11.7 构造器和转换 155
第12章 查询、序言和模块 160
12.1 查询的结构:序言和主体 160
12.2 集中使用多个模块中的查询 163
12.3 变量声明 166
12.4 声明外部函数 168
第13章 在XQuery中使用Schema 170
13.1 什么是Schema 170
13.2 为什么在查询中使用Schema 171
13.3 W3C XML Schema:概述 172
13.4 作用域内的Schema定义 175
13.5 Schema校验和类型分配 178
13.6 序列类型和Schema 183
第14章 静态类型 185
14.1 什么是静态类型 185
14.2 typeswitch表达式 187
14.3 treat表达式 189
14.4 类型声明 190
14.5 zero-or-one,one-or-more和exactly-one函数 192
第15章 查询设计的原则 193
15.1 查询设计的目标 193
15.2 清晰化 193
15.3 模块化 196
15.4 健壮性 196
15.5 错误处理 199
15.6 性能 201
第16章 操作数值 204
16.1 数值类型 204
16.2 创建数值 205
16.3 比较数值 206
16.4 算术操作符 207
16.5 数值函数 211
第17章 操作字符串 213
17.1 xs:string类型 213
17.2 创建字符串 213
17.3 比较字符串 214
17.4 子字符串 216
17.5 得到字符串的长度 217
17.6 字符串连接和拆分 218
17.7 操作字符串 220
17.8 空白符和字符串 222
17.9 国际化考虑 223
第18章 正则式 226
18.1 正则式的结构 226
18.2 表示单个字符 228
18.3 表示任意字符 229
18.4 表示字符的组 230
18.5 字符类表达式 233
18.6 勉强模式 235
18.7 锚 236
18.8 向后引用 237
18.9 使用标记 238
18.10 使用带替换变量的子表达式 239
第19章 操作日期、时间和时间段 242
19.1 日期和时间类型 242
19.2 时间段类型 246
19.3 提取日期、时间和时间段的组成部分 248
19.4 使用算术操作符处理日期、时间和时间段 249
19.5 日期组成部分类型 252
第20章 操作限定名,URI和ID 254
20.1 操作限定名 254
20.2 操作URI 259
20.3 操作ID 264
第21章 操作其他XML组件 267
21.1 XML组件 267
21.2 处理指令 269
21.3 文档 272
21.4 文本节点 274
21.5 XML实体和字符引用 278
21.6 CDATA段 280
第22章 其他XQuery相关的标准 282
22.1 序列化 282
22.2 XQueryX 284
22.3 XQuery修改功能 285
22.4 全文检索 285
22.5 用于Java(XQJ)的XQuery API 287
第23章 实现工具特有的特征 289
23.1 一致性 289
23.2 XML版本支持 290
23.3 设置查询上下文 290
23.4 选项声明和扩展表达式 291
23.5 指定序列化参数 293
第24章 SQL用户的XQuery 294
24.1 关系模型与XML数据模型 294
24.2 比较SQL语法和XQuery语法 296
24.3 结合SQL与XQuery 303
24.4 SQL/XML 306
第25章 XSLT用户的XQuery 307
25.1 XQuery和XPath 307
25.2 XQuery与XSLT 307
25.3 XQuery1.0/XPath2.0和XPath1.0的差别 314
附录A 内置函数参考 319
附录B 内置类型 411
附录C 错误汇总 440
索引 465