一种基于SQL结构化查询语言的XML数据XPath查询方法技术

技术编号:2820683 阅读:620 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于SQL结构化查询语言的XML数据库XPath查询方法,该方法首先分析处理SQL语句;然后转换SQL语句为XPath语句;执行XPath语句查询。本方法将两种原本不互相通信的查询语言实现了转换,并允许在XML数据库和XML数据文件查询时使用SQL语言。本方法实现了一种新颖、实用的XML数据库和XML数据文件查询方法。

【技术实现步骤摘要】

本专利技术设计一种基于SQL结构化査询语言的XML数据XPath查询方法,尤 其是一种将查询语言SQL (Structural Query Language,关系数据查询标准) 转换成任何XML数据库和XML数据文件中可扩展标记语言路径査询XPath的方 法,属于数据库与信息系统

技术介绍
虽然说关系型数据库已经是非常成熟的应用,基于字段的方式可以提供精 确的数据定义和控制,但缺点在于其数据结构是相对固定的。 一旦需要扩展数 据结构,必须通过修改数据库表结构来实现,修改的范围可能会涉及到与其他 表之间的关系和数据表中所有的数据。而XML是以层次化的树形结构作为存储 架构,通过元素(Element)和属性(Attribute)来包含数据,再通过XML Schema 来保证数据结构的正确性。这种方式其数据结构具有动态的特性,只要符合XML Schema的定义,XML节点随时可以变化。这就促使XML数据库成为了学术界研 究的热点。随着可扩展标记语言XML已经成为Internet上数据表示和数据交换的标 准。如何对XML文档进行有效管理与快速查询也成为了研究的重点,即所谓的 XML数据库。通常利用XML文档来存储数据,我们会考虑如何统一用关系数据库的标准 査询SQL转换成为XML数据的标准查询XPath的方法。因为关系数据査询标准 的使用是较为广泛的。XPath是W3C提出的XML文档树中査询数据节点的机制, 广泛应用于与XML查询语言XQuery。但是由于XML的树状数据模型和关系数据 库的二维表的数据模型存在很大的不同,加之XPath支持的特性非常多,如何 转换SQL到等价的XPath面临巨大挑战。
技术实现思路
本专利技术提供一种基于SQL结构化査询语言的XML数据XPath查询方法,以解决现有技术通用性差,两种语言不互通的问题。本专利技术所述一种基于SQL结构化查询语言的XML数据XPath査询方法,其 特征在于所述方法包括分析处理SQL语句;转换SQL语句为XPath语句;执 行XPath语句。所述的一种基于SQL结构化查询语言的XML XPath査询方法,其特征在于 分析SQL语句的命令部分,根据其内容分为Insert, Select, Update和Delete 四种类型,根据这四种命令确定转换为XML数据的添加、查询、更新、删除四 种操作。所述的一种基于SQL结构化査询语言的XML XPath査询方法,其特征在于 分析SQL语句的form命令部分确定其査询要求的表名,并转换为对应与XML数 据库中的XML文档名。所述的一种基于SQL结构化查询语言的XML XPath査询方法,其特征在于 分析SQL语句的where、 order字句确定查询条件表达式的内容,并转换为相应 的XPath查询条件语句。所述的一种基于SQL结构化査询语言的XML XPath査询方法,其特征在于 转换SQL语句为XPath语句,通过上面分析所得的信息,将SQL语句所有的各 个查询要素转换为一条完整的XPath语句。所述的一种基于SQL结构化査询语言的XML XPath査询方法,其特征在于 执行XPath语句,将上述处理后最终的XPath语句发送给XML数据库或XML数 据文件处理程序,实现XML数据査询。 附图说明图1为SQL结构化査询语言的XML数据査询流程示意图。 具体实施例方式本专利技术提供,旨 在解决现有技术中存在的査询标准不统一,査询XML数据需要先得到XML文 档,然后再利用XPath进行査询的繁琐操作,使得用户的开发工作变的复杂而 且需要深入了解XML和XPath技术。本专利技术实施举例是这样实现的, 一种基于SQL结构化査询语言的XML数据 XPath査询方法,所述方法包括下述步骤用户提供査询的XML的数据文档绝对路径或者是映射位置; 分析用户提供的XML的数据文档的安全性和完整性; 当分析完成,如果没有问题,将当前的操作库表名返回给用户; 用户输入査询SQL指令,返回给用户所要的结果; 本专利技术的实例中所述的用户输入的查询指令为SQL标准査询语言。 本专利技术的实例中所述还包括用户査询指令的分析转换模块,此模块是将用户 的SQL査询指令分析转换成为XPath,在用户提供的XML数据文档中进行査询; 还包括分析用户提供的XML数据文档的安全性和完整性的模块,此模块是分析 所以所要操作的XML数据文档是否完整和安全。在本专利技术的实施例中,通过分析用户提供的XML文档的完整和安全性,然 后反应给用户的当前操作的XML文档名,接着分析用户进行输入的SQL语句 进行分析转换成XML的标准查询语言XPath进行査询,将结果返回给用户。显然,本领域的技术人员可以对本专利技术进行各种改动和变形而不脱离本专利技术 的精神和范围。这样,倘若本专利技术的这些修改和变形属于本专利技术权利要求及其 等同技术的范围之内,则本专利技术也意图包含这些改动和变形在内。权利要求1、,其特征在于所述方法包括分析处理SQL语句;转换SQL语句为XPath语句;执行XPath语句。2、 根据权利要求书1所述的一种基于SQL结构化査询语言的XML数据XPath 査询方法,其特征在于分析SQL语句的命令部分,根据其内容分为Insert, Select, Update和Delete四种类型,根据这四种命令确定转换为XML数据的添 加、查询、更新、删除四种操作。3、 根据权利要求书1所述的一种基于SQL结构化査询语言的XML数据XPath 査询方法,其特征在于分析SQL语句的form命令部分确定其査询要求的表名, 并转换为对应与XML数据库中的XML文档名。4、 根据权利要求书1所述的一种基于SQL结构化査询语言的XML数据XPath 查询方法,其特征在于分析SQL语句的where、 order字句确定査询条件表达 式的内容,并转换为相应的XPath查询条件语句。5、 根据权利要求书1所述的一种基于SQL结构化查询语言的XML数据XPath 査询方法,其特征在于转换SQL语句为XPath语句,通过上面分析所得的信 息,将SQL语句所有的各个查询要素转换为一条完整的XPath语句。6、 根据权利要求书1所述的一种基于SQL结构化査询语言的XML数据XPath 査询方法,其特征在于执行XPath语句,将上述处理后最终的XPath语句发 送给XML数据库或XML数据文件处理程序,实现XML数据查询。全文摘要本专利技术公开了一种基于SQL结构化查询语言的XML数据库XPath查询方法,该方法首先分析处理SQL语句;然后转换SQL语句为XPath语句;执行XPath语句查询。本方法将两种原本不互相通信的查询语言实现了转换,并允许在XML数据库和XML数据文件查询时使用SQL语言。本方法实现了一种新颖、实用的XML数据库和XML数据文件查询方法。文档编号G06F17/30GK101350028SQ200810132819公开日2009年1月21日 申请日期2008年7月10日 优先权日2008年7月10日专利技术者涛 江, 鹤 王, 王建波 申请人:西安中电商务信息技术有限公司本文档来自技高网
...

【技术保护点】
一种基于SQL结构化查询语言的XML数据XPath查询方法,其特征在于所述方法包括:分析处理SQL语句;转换SQL语句为XPath语句;执行XPath语句。

【技术特征摘要】

【专利技术属性】
技术研发人员:王建波江涛王鹤
申请(专利权)人:西安中电商务信息技术有限公司
类型:发明
国别省市:87[中国|西安]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1