当前位置: 首页 > 专利查询>清华大学专利>正文

一种可扩展标记语言文档树中结点关系的判断方法技术

技术编号:2854299 阅读:317 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种可扩展标记语言文档树中结点关系的判断方法,属于网络数据处理技术领域。首先对文档树进行编码:设定可扩展标记语言文档树的根结点的编码为1;若结点D是结点A的最左儿子结点,其编码是整数P,则结点D的编码为整数2P;若结点R为结点L的直接右兄弟结点,其编码是整数Q,则结点R的编码为整数2Q+1;根据编码有:结点N在兄弟结点中的位置=结点N的编码的二进制表示(N.NUM)↓[2]中最右边的连续1的个数;若等式(X.NUM《1)=(Y.NUM》(┕log↓[2](Y.NUM)」-┕log↓[2](X.NUM)」-1))成立,则结点X是结点Y的祖先。本发明专利技术方法使用的编码方法非常简单,因此使用方便。

【技术实现步骤摘要】

本专利技术涉及,属于网络数据处理

技术介绍
随着大量可扩展标记语言(eXtensible Markup Language)数据的出现,可扩展标记语言不再单纯的是为了增强应用程序对从网络上获得的文档的解释和操作能力,它已经逐步成为网上数据交换和数据表示的标准,而如何有效地存储和查询这些可扩展标记语言数据成为学术界研究的一个热点。目前,针对可扩展标记语言文档树的查询提出了许多语言,它们共同的核心技术之一就是利用路径表达式来表示和检索用户所指定的结构模式,实现可扩展标记语言的结构查询。因此,为了查询可扩展标记语言文档树,尤其是结构查询,研究人员提出了很多种可扩展标记语言文档树的编码方法,即为可扩展标记语言文档树中的每一个结点赋予一个唯一的编码,以便能够通过编码直接判断结点元素或属性在可扩展标记语言文档树中的父子关系或祖先-后裔关系,而不用对原文档进行遍历。目前对可扩展标记语言文档树进行编码的方法主要是基于区间的编码方法,在文献“Quanzhong Li and Bongki Moon.Indexing and Querying XML Data for Regular PathExpressions.In the Proceedings of the 27th International Conference on Very LargeData Bases.Roma,Italy,September 11-14,2001.pp361-370”中公开了基于区间的编码方法,主要利用了可扩展标记语言文档有序的特点,根据每一个元素结点在可扩展标记语言文档中的字典顺序位置给每一个结点赋予一个编码。在该编码方法中可扩展标记语言文档树中的每一个结点被赋予一个二元组<order,size>。其中,order为结点的扩展先序遍历序号,它的取值是非连续的,而size为结点的后裔范围。因此,可扩展标记语言文档树中的任意两个结点A和D是祖先-后裔关系,当且仅当A.order<D.order且D.order+D.size<=A.order+A.size,即祖先结点A的区间编码中包含有后裔结点D的区间编码。各种区间编码的基本思想是一样的,主要是根据编码所在的整数区间来判断结点之间的关系。区间编码的主要问题总结如下(1)在判断结点之间的关系时使用了不等的比较操作而不是等于判断,当结点很多时就不容易判断结点间的关系,其道理同关系数据库系统中的等值连接一样;(2)编码形式比较复杂,一个可扩展标记语言文档树中的结点至少需要两个整数才能确定其在可扩展标记语言文档树中的位置。为了判断两个结点是否是父子关系,还必须提供这两个结点在可扩展标记语言文档树中的层次信息,而结点的层次信息并不包含在区间编码中。
技术实现思路
本专利技术的目的是针对已有技术中区间编码存在的问题,提出了,主要目的是(1)用更简单的编码表示更多的结点位置信息,结点的编码中包含该结点在可扩展标记语言文档树中的层次信息,同时也包含该结点在其兄弟结点中的先后次序关系等信息;(2)利用更简单的、计算机更容易实现的操作来判断可扩展标记语言文档树中结点间的父子关系或祖先一后裔关系。本专利技术提出的可扩展标记语言文档树中结点关系的判断方法,包括以下步骤(1)对可扩展标记语言文档树进行编码(a)设定可扩展标记语言文档树的根结点的编码为l;(b)若结点D是可扩展标记语言文档树中结点A的最左儿子结点,即第一个儿子结点,且结点A的编码是整数P,则结点D的编码为整数2P;(c)若结点R为可扩展标记语言文档树中结点L的直接右兄弟结点,即第一个右兄弟结点,且结点L的编码是整数Q,则结点R的编码为整数2Q+1;(2)对可扩展标记语言文档树中的结点关系进行判断(a)在可扩展标记语言文档树中,任意一个结点N的编码为一个大于等于1的整数NUM,将编码记为N.NUM;(b)设可扩展标记语言文档树中根结点的层次为1,则任意结点N在文档树中的层次=结点N的编码的二进制表示(N.NUM)2中零的个数+1;(c)设结点N为可扩展标记语言文档树中任意一个结点,则结点N在兄弟结点中的位置=结点N的编码的二进制表示(N.NUM)2中最右边的连续1的个数;(d)设结点x和结点Y为可扩展标记语言文档树中任意两个结点,若等式 成立,则在可扩展标记语言文档树中结点X是结点Y的祖先。本专利技术提出的可扩展标记语言文档树中结点关系的判断方法,使用的编码方法同已有的区间编码相比,非常简单,只用一个正整数表达结点在可扩展标记语言文档树中的层次、兄弟结点的先后次序等位置关系。因此本专利技术方法非常适合计算机实现,而且使用方便。附图说明图1是本专利技术方法中可扩展标记语言文档树的结构示意图。图2是本专利技术方法的一个编码实施例。具体实施例方式本专利技术提出的可扩展标记语言文档树中结点关系的判断方法中,首先对可扩展标记语言文档树进行编码(a)设定可扩展标记语言文档树的根结点的编码为1;(b)若结点D是可扩展标记语言文档树中结点A的最左儿子结点,即第一个儿子结点,且结点A的编码是整数P,则结点D的编码为整数2P;(c)若结点R为可扩展标记语言文档树中结点L的直接右兄弟结点,即第一个右兄弟结点,且结点L的编码是整数Q,则结点R的编码为整数2Q+1。;然后对可扩展标记语言文档树中的结点关系进行判断(a)在可扩展标记语言文档树中,任意一个结点N的编码为一个大于等于1的整数NUM,将编码记为N.NUM;(b)设可扩展标记语言文档树中根结点的层次为1,则任意结点N在文档树中的层次=结点N的编码的二进制表示(N.NUM)2中零的个数+1;(c)设结点N为可扩展标记语言文档树中任意一个结点,则结点N在兄弟结点中的位置=结点N的编码的二进制表示(N.NUM)2中最右边的连续1的个数;(d)设结点X和结点Y为可扩展标记语言文档树中任意两个结点,若等式 成立,则在可扩展标记语言文档树中结点X是结点Y的祖先。其中运算符号 表示对其中的实数R取下整,而运算符号“<<”和“>>”分别表示二进制运算中左移位和右移位操作。在对可扩展标记语言文档树中的结点进行编码时,具体的实施过程可以按照从上到下、从左到右的顺序对可扩展标记语言文档树中的结点进行编码。上述方法中文档树的结构如图1所示。当对一个可扩展标记语言文档树进行编码时,首先赋予文档树的根结点的编码为1,这是整个可扩展标记语言文档树中其他结点编码的基础。然后按照从上到下、从左到右的顺序对可扩展标记语言文档树中的结点依次进行编码。图2是一个可扩展标记语言文档树的编码实施例,对该可扩展标记语言文档树中的结点进行编码的详细步骤如下1、点的编码为12、结点的最左儿子结点的编码为2*1=2;3、结点2的直接右兄弟的编码为2*2+1=5;4、结点5的直接右兄弟的编码为2*5+1=11;5、结点5的最左儿子结点的编码为2*5=10;6、结点10的直接右兄弟的编码为2*10+1=21;7、结点21的直接右兄弟的编码为2*21+1=43。根据上面的编码结果,可以非常方便地判断结点在可扩展标记语言文档树中各节点之间的位置关系和祖先-后裔关系1、由于(1)2=1、(5本文档来自技高网
...

【技术保护点】
一种可扩展标记语言文档树中结点关系的判断方法,其特征在于该方法包括以下步骤:(1)对可扩展标记语言文档树进行编码:(a)设定可扩展标记语言文档树的根结点的编码为1;(b)若结点D是可扩展标记语言文档树中结点A的最左儿 子结点,即第一个儿子结点,且结点A的编码是整数P,则结点D的编码为整数2P;(c)若结点R为可扩展标记语言文档树中结点L的直接右兄弟结点,即第一个右兄弟结点,且结点L的编码是整数Q,则结点R的编码为整数2Q+1;(2)对可扩 展标记语言文档树中的结点关系进行判断:(a)在可扩展标记语言文档树中,任意一个结点N的编码为一个大于等于1的整数NUM,将编码记为N.NUM;(b)设可扩展标记语言文档树中根结点的层次为1,则任意结点N在文档树中的层次=结点 N的编码的二进制表示(N.NUM)↓[2]中零的个数+1;(c)设结点N为可扩展标记语言文档树中任意一个结点,则结点N在兄弟结点中的位置=结点N的编码的二进制表示(N.NUM)↓[2]中最右边的连续1的个数;(d)设结点X和 结点Y为可扩展标记语言文档树中任意两个结点,若等式(X.NUM〈〈1)=(Y.NUM〉〉(┕log↓[2](Y.NUM)」-┕log↓[2](X.NUM)」-1))成立,则在可扩展标记语言文档树中结点X是结点Y的祖先。...

【技术特征摘要】
1.一种可扩展标记语言文档树中结点关系的判断方法,其特征在于该方法包括以下步骤(1)对可扩展标记语言文档树进行编码(a)设定可扩展标记语言文档树的根结点的编码为1;(b)若结点D是可扩展标记语言文档树中结点A的最左儿子结点,即第一个儿子结点,且结点A的编码是整数P,则结点D的编码为整数2P;(c)若结点R为可扩展标记语言文档树中结点L的直接右兄弟结点,即第一个右兄弟结点,且结点L的编码是整数Q,则结点R的编码为整数2Q+1;(2)对可扩展标记语言文档树中的结点关系进行判断(a)在可扩展...

【专利技术属性】
技术研发人员:冯建华李国良周立柱钱乾廖雨果塔娜
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

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

1