Chinaunix首页 | 论坛 | 博客
  • 博客访问: 107480202
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480203
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480204
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480205
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480206
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480207
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480208
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480209
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480210
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480211
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480212
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480213
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480204
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480215
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480216
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480217
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480218
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480219
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480220
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480221
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480222
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480223
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480224
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480225
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480226
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480227
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480228
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480219
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480230
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480231
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480232
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480233
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480234
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480235
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480236
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480237
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480238
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480239
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480240
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480241
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480242
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480243
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480234
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480245
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480246
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480247
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480248
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480249
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480250
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480251
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480252
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks

DB2 9 基础(730 考试)认证指南,第 7 部分: XQuery 简介(4)-sdccf-ChinaUnix博客
  • 博客访问: 107480253
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 22:10:15

developerWorks



简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97393) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97392) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97391) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97390) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97389) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97388) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97387) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97386) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97385) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97384) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97383) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97382) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97381) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97380) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97379) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97378) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97377) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97376) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97375) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97374) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97373) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97372) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97371) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97370) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97369) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97368) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97367) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97366) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97365) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97364) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97363) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97362) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97361) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97360) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97359) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97358) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97357) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97356) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97355) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97354) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97353) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97352) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97351) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97350) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97349) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97348) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97347) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97346) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97345) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97344) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97343) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


简单的 XML 数据检索操作

在本节中,将学习如何编写检索整个 XML 文档和 XML 文档的特定部分(即片段)的 XQuery。为此,将使用 XPath 表达式和 FLWOR 表达式。

在作为顶级语言运行时,XQuery 需要一个输入数据的来源。在 DB2 中,指定输入数据来源的一种方法是调用函数 db2-fn:xmlcolumn。这个函数有一个输入参数,这个参数标识用户感兴趣的 DB2 表和 XML 列。db2-fn:xmlcolumn 函数返回给定的列中存储的 XML 文档序列。例如,以下查询返回包含客户联系信息的 XML 文档序列:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')

您可能会奇怪,为什么这个查询中指定的表和列名是大写的。如果回忆一下前面用来创建这个表的 SQL 语句,就会知道表和列名是小写的。除非另外指定,DB2 会在内部编目表中将表和列名转换为大写。因为 XQuery 是大小写敏感的,所以小写的表和列名与 DB2 编目中的大写名称不匹配。

现在,考虑这个 XQuery 的输出。对于插入 clients 表的 示例数据清单 12 中查询的输出是 6 个 XML 文档,如下所示。



                    


	
5401 Julio Ave. San Jose CA 95116
4084630000 4081111111 4082222222 4087776666 love2shop@yahoo.com
1204 Meridian Ave. 4A San Jose CA 95124
4084440000 4085555555
9407 Los Gatos Blvd. Los Gatos CA 95032
4083332222
501 N. First St. Campbell CA 95041
4081221331 4087799881 golfer12@yahoo.com
1912 Koch Lane San Jose CA 95125
4085430091 beatlesfan36@hotmail.com lennonfan36@hotmail.com
4209 El Camino Real Mountain View CA 95033
6503310091

如果您有兴趣,还可以使用一般的 SQL 检索 contactinfo 列中包含的完整 XML 文档集。简单的 "select contactinfo from client" 语句就能够完成这个任务。

用户常常希望检索 XML 文档中的特定元素。用 XQuery 完成这个任务很容易。假设希望检索所有提供了传真号的客户的传真号。下面是编写这种查询的一种方法:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y

第一行指示 DB2 调用它的 XQuery 分析器。下一行指示 DB2 遍历 CLIENTS.CONTACTINFO 列中包含的 Client 元素的 fax 子元素。每个 fax 元素依次绑定到变量 $y。第三行指示对于每次迭代返回 $y 的值。结果是一系列 XML 元素,如下所示。



                    
4087776666
4085555555     

(这里显示的输出经过了简化。XML 版本信息已经去掉了,因为它对于本教程并不重要。但是,在 DB2 中运行的 XQuery 都会返回这些信息。示例见 清单 13。)

清单 14 所示的查询也可以表示为一个三步的路径表达式:



                    
xquery 
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax

XQuery 基础 一节中,了解了文本节点。我们在这里应用这一知识。假设不希望从查询获得 XML 片段,而是获得 XML 元素值的文本表示。为此,可以在 return 子句中调用 text() 函数:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax
return $y/text()

(或)

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/fax/text()

这些查询的输出是:



                    
4087776666
4085555555

本节中前面的查询的结果相当简单,因为它们都涉及 fax 元素,这个元素基于一种原始数据类型。当然,元素可能基于复杂的类型,可能包含子元素(或嵌套的层次结构)。客户联系信息的 Address 元素就是这种元素的例子。考虑以下 XQuery 会返回什么:



                    
xquery 
for $y in db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address
return $y

(或) 

xquery
db2-fn:xmlcolumn('CLIENTS.CONTACTINFO')/Client/Address

如果您猜测会返回一系列 XML 片段,其中包含 Address 元素及其所有子元素,那么您猜对了。下面是输出的摘录:



                    
5401 Julio Ave. San Jose CA 95116
1204 Meridian Ave. 4A San Jose CA 95124
9407 Los Gatos Blvd. Los Gatos CA 95032
. . .
阅读(97342) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~