没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
第 2O卷 第 1期
V0I.2O No.1
湖 北 工 业 大 学 学 报
Journal of Hubei University of Technology
2005年 O2月
野由 .2005
[文章编号 丁1003—4684(2005 l02—0059—02
XML查 询语 句转换成 SQL语 句 的实现
吴铁洲 ,徐 元 中 ,武明虎
(1湖北 工业 大学 电 气与 电子 工程 学 院 ,湖北 武 汉 430068)
[摘 要]给 出 XML的查 询语 言 Xpath、Xquery语 法 ,并讨 论 这 两种 查 询语 言的功 能 特性 ,最后 给 出了将
XML查 询语 言 Xpath、Xquery的语 句 转化 成 SQL语句 的 算法 实现 .
[关键 词]可扩 展标 记语 言 ;Xpath;Xquery;SQL
[中 圈分 类号 ]TP4 [文献标 识 码]:A
XML已经成 为 Internet上 数据 交 换事 实上 的
标准.特别是近来研究 较多的 Web数 据挖掘技 术Ⅲ
对数据源 的结 构化需 求 ,导致 人们 对 XML文 档 的
数 据 管 理 提 出 了 一 些 新 的 要 求 ,特 别 是 有 序 的
XML文档 的存储 和查 询等.本文 对 W3C组织 推荐
的用 于 XML 的查 询 语 言 Xpath ̄ 、Xquery[3]的 功
能特性进行 了讨论 ,并在 将 XML文档存 储 于关 系
数据库 中的基础 上 ,实现 了将 Xpath、Xquery查 询
语 句转 换成关 系 数据库 结构 化查 询语 句 SQL的算
法 .
1 Xpath、Xquery的功 能 简 介
Xpath是 由 W3C组 织 推荐 的用 于 XML的相
对简单 的查询语 言 ,Xquery是 W3C组 织 在 XPath
基础上正 在开发 的相对 复杂的查询语言.
XPath表达 式 的语 法格 式 为 :Path::一/stepl/
step2/…/stepN/,其 中每一个 step定 义如 下 :step
::一AXis::Nodetest predicate step对 当前 节 点进
行处理并选 择一组 结果 节点.在 step中,Axis指明
在文档 中搜 索的方 向.Xpath支持 12个 Axis.例如 ,
如果 Axis等于 child,step应 考虑 当前 节点 的所 有
子节点.Nodetest表 明对 找 到 的 XML的节 点 的一
个简 单测 试.例 如 child::title,step将 选择作 为 标
题 的子节 点.step还 可以包含 predicate条件.例如 :
[position()一n].这个 条件 选择 当前节 点 中位 置值
为 n的节点.Position的准确 含 义与在 step中使用
的 Axis有关 .如 child::title[position()=2]选 择名
为 title的第二个 子节 点.
因为 Xquery是 基 于 Xpath的,所 以前 面讨论
的所有 内容 都 适 合 于 Xquery.此 外 ,Xquery包 含
before、after和 range操作 符 ,例 如 range操作 符 2
to 5可 以用于查询时选择 范围.
Xquery和 Xpath查 询表 达 式有 两 种求 值 方 式
但是两种方 式都要保持文档 节点的顺 序.
Select方式 :在此方式 中 ,若 XML文 档 中的节
点有唯一 的标识 符.Xpath表达 式 查 询结果 是 一 有
序 的节 点标识符(ID)集.给定一个 ID后 ,应用 程序
就 能提取 和节点有关 的元 素. ‘
Reconstruct方 式 :这种 方 式 结 合 了选 择 和 抽
取 ,可 以从 输入的 XML文 档 中提取 与 选 中节点 对
应 的 XML元素部分重 建 XML.
2 Xpath、Xquery语 句 转换 成 SQL语
句的算法实现示例
程 序 清 单 显 示 了把 一 条 Xpath语 句 翻 译 成
SQL的算 法.其 中 Edge表 是 将 XML文档 编 码 存
入关 系数 据库后产生 的表 .
算法 首先产生 SQL语 句 段来 选 择被 存储 的文
档 的根元 素[4~6行],然 后把 根 节 点作 为初 始 的
当前节 点 ,算法生成 与正在被转 换 的 Xpath查 询表
达式 的每一 step对应 的 SQL语 句 段 ,以便 产生 新
的当前节点 [8行 ].最 后一 步 生 成 的 当前 节点 ,就
构成 了查 询结果[1O~11行].
[收稿 日期]2004--09—21
[作者简 介]吴铁洲  ̄ ̄1966--),男 ,湖北 天 门人 ,湖 北工 业 大学 副教授 ,华 中科 技大 学博 士研 究生 ,研究 方向 。数 据挖 掘 ,网
格技 术 ,图像 处理 .
维普资讯 http://www.cqvip.com
资源评论
数据资源
- 粉丝: 118
- 资源: 23万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功