Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104876451
  • 博文数量: 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博客
  • 博客访问: 104876452
  • 博文数量: 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博客
  • 博客访问: 104876453
  • 博文数量: 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博客
  • 博客访问: 104876444
  • 博文数量: 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博客
  • 博客访问: 104876455
  • 博文数量: 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博客
  • 博客访问: 104876456
  • 博文数量: 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博客
  • 博客访问: 104876457
  • 博文数量: 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博客
  • 博客访问: 104876458
  • 博文数量: 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博客
  • 博客访问: 104876459
  • 博文数量: 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博客
  • 博客访问: 104876460
  • 博文数量: 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博客
  • 博客访问: 104876461
  • 博文数量: 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博客
  • 博客访问: 104876462
  • 博文数量: 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博客
  • 博客访问: 104876463
  • 博文数量: 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博客
  • 博客访问: 104876464
  • 博文数量: 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博客
  • 博客访问: 104876465
  • 博文数量: 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博客
  • 博客访问: 104876466
  • 博文数量: 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博客
  • 博客访问: 104876467
  • 博文数量: 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博客
  • 博客访问: 104876468
  • 博文数量: 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博客
  • 博客访问: 104876459
  • 博文数量: 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博客
  • 博客访问: 104876470
  • 博文数量: 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博客
  • 博客访问: 104876471
  • 博文数量: 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博客
  • 博客访问: 104876472
  • 博文数量: 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博客
  • 博客访问: 104876473
  • 博文数量: 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博客
  • 博客访问: 104876474
  • 博文数量: 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博客
  • 博客访问: 104876475
  • 博文数量: 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博客
  • 博客访问: 104876476
  • 博文数量: 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博客
  • 博客访问: 104876477
  • 博文数量: 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博客
  • 博客访问: 104876478
  • 博文数量: 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博客
  • 博客访问: 104876479
  • 博文数量: 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博客
  • 博客访问: 104876480
  • 博文数量: 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博客
  • 博客访问: 104876481
  • 博文数量: 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博客
  • 博客访问: 104876482
  • 博文数量: 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博客
  • 博客访问: 104876483
  • 博文数量: 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博客
  • 博客访问: 104876474
  • 博文数量: 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博客
  • 博客访问: 104876485
  • 博文数量: 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博客
  • 博客访问: 104876486
  • 博文数量: 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博客
  • 博客访问: 104876487
  • 博文数量: 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博客
  • 博客访问: 104876488
  • 博文数量: 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博客
  • 博客访问: 104876489
  • 博文数量: 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博客
  • 博客访问: 104876490
  • 博文数量: 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博客
  • 博客访问: 104876491
  • 博文数量: 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博客
  • 博客访问: 104876492
  • 博文数量: 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博客
  • 博客访问: 104876493
  • 博文数量: 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博客
  • 博客访问: 104876494
  • 博文数量: 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博客
  • 博客访问: 104876495
  • 博文数量: 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博客
  • 博客访问: 104876496
  • 博文数量: 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博客
  • 博客访问: 104876497
  • 博文数量: 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博客
  • 博客访问: 104876498
  • 博文数量: 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博客
  • 博客访问: 104876489
  • 博文数量: 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博客
  • 博客访问: 104876500
  • 博文数量: 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博客
  • 博客访问: 104876501
  • 博文数量: 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博客
  • 博客访问: 104876502
  • 博文数量: 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
. . .
阅读(96702) | 评论(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
. . .
阅读(96701) | 评论(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
. . .
阅读(96700) | 评论(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
. . .
阅读(96699) | 评论(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
. . .
阅读(96698) | 评论(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
. . .
阅读(96697) | 评论(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
. . .
阅读(96696) | 评论(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
. . .
阅读(96695) | 评论(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
. . .
阅读(96694) | 评论(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
. . .
阅读(96693) | 评论(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
. . .
阅读(96692) | 评论(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
. . .
阅读(96691) | 评论(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
. . .
阅读(96690) | 评论(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
. . .
阅读(96689) | 评论(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
. . .
阅读(96688) | 评论(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
. . .
阅读(96687) | 评论(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
. . .
阅读(96686) | 评论(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
. . .
阅读(96685) | 评论(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
. . .
阅读(96684) | 评论(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
. . .
阅读(96683) | 评论(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
. . .
阅读(96682) | 评论(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
. . .
阅读(96681) | 评论(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
. . .
阅读(96680) | 评论(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
. . .
阅读(96679) | 评论(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
. . .
阅读(96678) | 评论(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
. . .
阅读(96677) | 评论(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
. . .
阅读(96676) | 评论(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
. . .
阅读(96675) | 评论(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
. . .
阅读(96674) | 评论(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
. . .
阅读(96673) | 评论(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
. . .
阅读(96672) | 评论(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
. . .
阅读(96671) | 评论(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
. . .
阅读(96670) | 评论(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
. . .
阅读(96669) | 评论(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
. . .
阅读(96668) | 评论(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
. . .
阅读(96667) | 评论(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
. . .
阅读(96666) | 评论(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
. . .
阅读(96665) | 评论(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
. . .
阅读(96664) | 评论(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
. . .
阅读(96663) | 评论(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
. . .
阅读(96662) | 评论(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
. . .
阅读(96661) | 评论(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
. . .
阅读(96660) | 评论(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
. . .
阅读(96659) | 评论(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
. . .
阅读(96658) | 评论(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
. . .
阅读(96657) | 评论(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
. . .
阅读(96656) | 评论(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
. . .
阅读(96655) | 评论(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
. . .
阅读(96654) | 评论(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
. . .
阅读(96653) | 评论(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
. . .
阅读(96652) | 评论(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
. . .
阅读(96651) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~