Chinaunix首页 | 论坛 | 博客
  • 博客访问: 110067270
  • 博文数量: 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博客
  • 博客访问: 110067275
  • 博文数量: 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博客
  • 博客访问: 110067265
  • 博文数量: 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博客
  • 博客访问: 110067284
  • 博文数量: 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博客
  • 博客访问: 110067289
  • 博文数量: 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博客
  • 博客访问: 110067284
  • 博文数量: 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博客
  • 博客访问: 110067298
  • 博文数量: 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博客
  • 博客访问: 110067306
  • 博文数量: 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博客
  • 博客访问: 110067299
  • 博文数量: 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博客
  • 博客访问: 110067313
  • 博文数量: 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博客
  • 博客访问: 110067318
  • 博文数量: 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博客
  • 博客访问: 110067322
  • 博文数量: 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博客
  • 博客访问: 110067326
  • 博文数量: 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博客
  • 博客访问: 110067331
  • 博文数量: 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博客
  • 博客访问: 110067336
  • 博文数量: 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博客
  • 博客访问: 110067341
  • 博文数量: 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博客
  • 博客访问: 110067345
  • 博文数量: 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博客
  • 博客访问: 110067350
  • 博文数量: 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博客
  • 博客访问: 110067344
  • 博文数量: 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博客
  • 博客访问: 110067357
  • 博文数量: 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博客
  • 博客访问: 110067362
  • 博文数量: 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博客
  • 博客访问: 110067365
  • 博文数量: 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博客
  • 博客访问: 110067355
  • 博文数量: 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博客
  • 博客访问: 110067360
  • 博文数量: 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博客
  • 博客访问: 110067363
  • 博文数量: 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博客
  • 博客访问: 110067366
  • 博文数量: 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博客
  • 博客访问: 110067355
  • 博文数量: 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博客
  • 博客访问: 110067390
  • 博文数量: 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博客
  • 博客访问: 110067393
  • 博文数量: 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博客
  • 博客访问: 110067398
  • 博文数量: 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博客
  • 博客访问: 110067386
  • 博文数量: 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博客
  • 博客访问: 110067389
  • 博文数量: 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博客
  • 博客访问: 110067394
  • 博文数量: 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博客
  • 博客访问: 110067398
  • 博文数量: 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博客
  • 博客访问: 110067403
  • 博文数量: 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博客
  • 博客访问: 110067408
  • 博文数量: 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博客
  • 博客访问: 110067410
  • 博文数量: 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博客
  • 博客访问: 110067400
  • 博文数量: 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博客
  • 博客访问: 110067419
  • 博文数量: 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博客
  • 博客访问: 110067426
  • 博文数量: 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博客
  • 博客访问: 110067419
  • 博文数量: 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博客
  • 博客访问: 110067434
  • 博文数量: 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博客
  • 博客访问: 110067439
  • 博文数量: 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博客
  • 博客访问: 110067442
  • 博文数量: 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博客
  • 博客访问: 110067446
  • 博文数量: 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博客
  • 博客访问: 110067449
  • 博文数量: 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博客
  • 博客访问: 110067454
  • 博文数量: 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博客
  • 博客访问: 110067457
  • 博文数量: 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博客
  • 博客访问: 110067462
  • 博文数量: 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博客
  • 博客访问: 110067464
  • 博文数量: 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博客
  • 博客访问: 110067467
  • 博文数量: 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博客
  • 博客访问: 110067471
  • 博文数量: 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
. . .
阅读(99403) | 评论(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
. . .
阅读(99402) | 评论(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
. . .
阅读(99401) | 评论(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
. . .
阅读(99400) | 评论(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
. . .
阅读(99399) | 评论(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
. . .
阅读(99398) | 评论(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
. . .
阅读(99397) | 评论(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
. . .
阅读(99396) | 评论(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
. . .
阅读(99395) | 评论(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
. . .
阅读(99394) | 评论(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
. . .
阅读(99393) | 评论(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
. . .
阅读(99392) | 评论(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
. . .
阅读(99391) | 评论(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
. . .
阅读(99390) | 评论(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
. . .
阅读(99389) | 评论(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
. . .
阅读(99388) | 评论(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
. . .
阅读(99387) | 评论(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
. . .
阅读(99386) | 评论(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
. . .
阅读(99385) | 评论(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
. . .
阅读(99384) | 评论(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
. . .
阅读(99383) | 评论(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
. . .
阅读(99382) | 评论(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
. . .
阅读(99381) | 评论(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
. . .
阅读(99380) | 评论(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
. . .
阅读(99379) | 评论(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
. . .
阅读(99378) | 评论(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
. . .
阅读(99377) | 评论(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
. . .
阅读(99376) | 评论(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
. . .
阅读(99375) | 评论(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
. . .
阅读(99374) | 评论(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
. . .
阅读(99373) | 评论(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
. . .
阅读(99372) | 评论(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
. . .
阅读(99371) | 评论(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
. . .
阅读(99370) | 评论(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
. . .
阅读(99369) | 评论(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
. . .
阅读(99368) | 评论(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
. . .
阅读(99367) | 评论(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
. . .
阅读(99366) | 评论(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
. . .
阅读(99365) | 评论(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
. . .
阅读(99364) | 评论(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
. . .
阅读(99363) | 评论(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
. . .
阅读(99362) | 评论(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
. . .
阅读(99361) | 评论(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
. . .
阅读(99360) | 评论(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
. . .
阅读(99359) | 评论(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
. . .
阅读(99358) | 评论(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
. . .
阅读(99357) | 评论(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
. . .
阅读(99356) | 评论(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
. . .
阅读(99355) | 评论(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
. . .
阅读(99354) | 评论(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
. . .
阅读(99353) | 评论(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
. . .
阅读(99352) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~