搜索元素的方法和设备以及存储程序的记录介质的制作方法

文档序号:6542779阅读:98来源:国知局
专利名称:搜索元素的方法和设备以及存储程序的记录介质的制作方法
技术领域
本发明涉及一种元素搜索方法,更加确切的说,涉及一种在符合可扩展标记性语言(XML)格式的文档或库中搜索预定的元素(或节点)的方法和设备,和一种记录介质,用于存储实现此方法的程序。
背景技术
图1表示的是一个XML文档的例子,图2是图1中XML文档的树形图。在图1和图2中所示的XML文档中,根元素“aa”包括三个“bb”子元素(或子节点),且每一个“bb”子元素都包括一个“cc”子元素。
为了在这个XML文档中搜索一个预定的元素,必须把搜索路径描述成语句。例如,如果期望搜索图2所示的根元素“aa”的第二“bb”子元素的“cc”子元素的话,则应当以一个语句描述搜索路径,如表1所示表1

然后,通过利用通过解码如上述语句中所描述的搜索路径而获得的信息,在XML文档中搜索所期望的元素。
因此,由于当在XML文档或库中,期望元素搜索时,用户应当将期望被检测的元素的搜索路径描述为上述语句的形式,并且该描述为语句的搜索路径应当被解析和解码,所以,这个在XML文档或库中搜索期望元素的处理是麻烦和复杂的。

发明内容
本发明提供一种用于在文档或库中容易地搜索期望元素的方法和设备,以及一种存储实现该方法的程序的记录介质。
本发明提供一种用于在符合XML格式的文档或库中容易地搜索预定的元素(或节点)的方法和设备,以及一种存储实现该方法的程序的记录介质。
本发明提供一种通过利用基于预定语法的树状路径信息,在符合XML格式的文档或库中容易且快速地搜索预定元素(或节点)的方法和设备,以及一种存储实现该方法的程序的记录介质。
根据本发明的一个方面,提供了一种从文档或库中搜索元素的方法,该方法包括如果输入元素的树状路径信息,则基于预定语法,解析该元素的树状路径信息;以及根据解析结果,在文档或库中搜索该元素。
所述树状路径信息可具有基于预定语法的字符串。
预定语法可被限定,从而描述树状路径信息为下述中的任何一种在区分元素的符号之间描述术语和词干的字符串;按照符号,术语和词干的顺序描述的字符串;和按照术语和词干的顺序描述的字符串。
预定语法可被限定,从而描述词干为下述中的任何一种按照符号,术语和词干的顺序描述的字符串;和表示空的字符串或符号。
预定语法可被限定,从而描述术语为下述中的任何一种表示元素名的字符串;表示指定范围的字符串或符号;以名称空间前缀元素名的形式描述的字符串;以表示指定范围的符号元素名的形式描述的字符串;和以表示指定范围的符号字符串或表示指定范围的符号的形式描述的字符串。
预定语法可被限定,从而描述表示指定范围的字符串为下述中的任何一种“{”指定范围(范围)“}”;和表示空的字符串或符号。
指定范围可包含与期望被搜索的元素对应的上层元素中期望被搜索的元素的排列顺序信息。
以符号为基准,在该符号之前描述的字符串可表示在该符号之后描述的字符串的上层元素。
根据本发明的另一方面,提供了一种用于在基于可扩展标记语言(XML)格式的文档或库中搜索元素的方法,该方法包括如果输入了该元素的树状路径信息,则基于预定语法解析树状路径信息,并检测至少一个元素的位置信息;解码检测到的位置信息;和根据解码结果在文档或库中搜索该元素。
根据本发明的另一方面,提供了一种用于从基于XML格式的文档或库中搜索元素的设备,该设备包括存储介质,用于存储文档或库;和解析和解码单元,如果输入元素的树状路径信息,则基于预定语法,解析该元素的树状路径信息,并基于解析结果提供该元素的搜索请求信号到存储介质。
根据本发明的另一方面,提供了一种计算机可读的记录介质。该记录介质收录了用于执行从文档和库中搜索元素的方法的计算机程序,该方法包括如果输入元素的树状路径信息,则基于预定语法,解析该元素的树状路径信息;并根据解析结果,从文档或库中搜索该元素。


通过下面结合附图对实施方式进行的描述,本发明的上述和其他特点和优点将会变得清楚,图中图1表示XML文档的一个例子;图2是图1中XML文档的树形图;图3是根据本发明的示例性实施方式的元素搜索设备的功能方框图;图4表示根据本发明实施方式的XML树状路径的语法定义的一个例子;图5A至图5H表示通过表2中定义的树状路径搜索到的元素的树形图的例子。
图6是根据本发明的优选实施方式的元素搜索方法的操作流程图。
具体实施例方式
参照附图将更全面地描述本发明,附图中示出了本发明的示例性实施方式。
参照图3,根据本发明实施方式的元素搜索设备包括树状路径信息输入单元301、解析和解码单元302和用于存储XML文档303的存储介质304。
树状路径信息输入单元301被形成,从而用户可以按照预定语法输入树状路径信息。该预定语法可以以类似如图4所示的巴科斯范式(BNF)的形式被限定。
即,图4中, 意指“定义为”,并且表示 左边描述的非终结符号被 右边所示的符号或/和字符串所定义。
因此,参照图4,树状路径信息可通过以下中的任意一种描述按照两个区分元素的“|”符号之间的术语、词干的顺序来描述的字符串(″|″term stem″|″);按照术语、词干和符号(|)的顺序来描述的字符串(term stem″|″);按照符号(|)、术语和词干的顺序来描述的字符串(″|″term stem)和按照术语、词干的顺序来描述的字符串。
包括在树状路径信息中的词干可以被描述为下述中的任意一种按照符号、术语和词干的顺序描述的字符串(″|″term stem);表示空值的字符串或符号(E),如图4所示。因为该词干,所以树状路径信息可以被定义为具有重复性的形式。
包括在树状路径信息中的术语可以被描述为下述中的任意一种表示元素名称的字符串(name range-dese);表示指定范围的符号或字符串(″*″range-desc);以名称空间前缀元素名称的形式描述的字符串(ns-prefix ″″elem-name range-desc);以表示指定范围的符号元素名称的形式描述的字符串(″*″″″elem-name range-desc);以表示指定范围的符号字符串或表示指定范围的符号的形式描述的字符串(″*″″″″*″range-desc)。
在树状路径信息中表示指定范围的字符串(range-desc)可以被描述为下述中的任意一种″{″range″}″和意指空的字符串或符号(E)。
同样,range可以被表示为″range-term range-stem″的形式。range-stem可以被描述为下述中的一种″,″range-term range-stem和表示空的符号(E),如图4所定义。range-term可以被描述为number、″-″number、number″-″和number″-″number的形式。number符合正常的十进制数语法。
基于图4中定义的语法,可以通过树状路径信息输入单元301输入具有如表2所示的含义的XML树状路径信息。
表2


按照表2中定义的各XML树状路径,可从存储介质304输出的XML元素的树形图如图5所示。
这就是说,图5A是表2中树状路径|aa|bb{3-}|的树形图例。图5B是表2中树状路径|a:b|a:c|的树形图例。图5C是表2中树状路径|aa|*{3}|的树形图例。图5D是表2中树状路径|a|*|的树形图例。图5E是表2中|a|*的树形图例。图5F是表2中树状路径|*a|*b{2}|*的树形图例。图5G是表2中树状路径*|a|b|的树形图例。图5H是表2中树状路径a|b|的树形图例。
除表2中定义的树状路径信息外,也可以输入如同|aa|bb{2}|cc|的树状路径信息。该树状路径信息表示“aa”元素的第二个名为“bb”的子元素的“cc”子元素。如果在树状路径信息中省略了{...}信息,那么该树状路径信息与输入{1}一样对待。{1}表示相应名称的第一子元素(或节点)。在{}中写入的数字为对应于期望被搜索的元素的上层元素中包括的,具有相同名称的子元素中,关于该期望被搜索的元素的排列次序信息。
同样,除表2中定义的形式外,基于图4定义的语法,包括期望被搜索的元素的范围的树状路径信息可以被输入为|aa|bb{1-3}|,该树状路径信息表示搜索“aa”元素的名为“bb”的第一子元素到第三子元素。该包含期望被搜索的元素的范围的树状路径信息可以被输入为|aa|bb{1,2,3}|。
在所述树状路径信息中,符号“|”是用于区分元素的元符号,基于该符号,写在该符号之前的字符串表示写在该符号之后的字符串的上层元素。例如,在树状路径信息|aa|bb|中,元素“aa”是元素“bb”的上层元素。
如果输入基于上述预定语法的树状路径信息,则解析和解码单元302解析该输入的基于预定语法的树状路径信息,并检测在存储介质304中XML文档303中期望被搜索的元素的位置。该检测结果被解码。解码结果提供给存储介质304。该解码结果是该期望被搜索元素的搜索请求信号。
基于输入的搜索请求信号,存储介质304从XML文档303中搜索XML元素,并输出该XML元素。通过对在图5A至5H中显示的树状路径进行追踪,搜索该XML元素。
存储介质304可以存储符合XML格式的库,并且根据搜索请求信号,可以搜索包括在库中的XML元素并将其输出。存储介质304可以是下述中的任意一种,如存储器,记忆棒,光盘和硬盘。
图6是根据本发明的实施方式的元素检索方法的操作流程图。
在操作601中,如果确定在树状路径输入单元301中输入了基于上述语法的树状路径信息,则在操作602中,基于该语法,解析树状路径信息。根据解析,从XML文档或库中检测期望被搜索的元素的位置。即,在解析中,确定以符号区分的元素的位置、期望被检索的元素名、期望被检索的元素的父元素(或上级元素)名、该元素的检索范围,等等。其中,被包括在以符号为基准并在该符号之前描述的元素信息(比如,元素名)中的信息和被包括在以符号为基准并在该符号之后描述的元素信息中的信息被解析。
在操作603中,解析的信息被解码为搜索请求信号。该搜索请求信号包括期望被搜索的元素的位置信息。在操作604中,基于解码信息,在XML文档或库中搜索XML元素。在操作605和606中,如果检测到该XML元素,则从存储介质304读并输出检测到的XML元素。但是,如果没有检测到该XML元素,则在操作605和607中执行错误处理。
上述在XML文档或库中检测元素的搜索方法,也可以被实现为在计算机可读的记录介质上的计算机可读的代码。计算机可读的记录介质是可以存储数据的任何数据存储装置,所述数据可以在以后被计算机读出。计算机可读的记录介质的例子包括只读存储器(ROM)、读写存储器(RAM)、CD-ROMs、磁带、软盘、光学数据存储装置和载波(如通过因特网的数据传输)。
计算机可读的记录介质也可以通过与计算机系统连接的网络分发,从而存储并以分布的方式执行计算机可读的代码。本发明领域技术熟练的程序员可以很容易地分析实现本发明的功能程序、代码和代码段。
上述的本发明中,通过利用基于预定语法的树状路径信息,搜索在XML文档或库中的预定位置的元素,这样,可以容易且快速地检测到所期望的元素。
通过本发明的优选实施方式,详细地显示并描述了本发明,本领域的一般技术人员可以理解,在不背离本发明的精髓和范围的前提下,可以对本发明进行形式和细节上的改变,本发明的范围由权利要求书限定。
权利要求
1.一种从文档或库中搜索元素的方法,该方法包括如果输入元素的树状路径信息,则基于预定语法,解析该元素的树状路径信息;根据解析结果,在文档或库中搜索该元素。
2.如权利要求1所述的方法,其中,树状路径信息具有基于预定语法的字符串。
3.如权利要求2所述的方法,其中预定语法被限定,从而树状路径信息被定义为下述中的任意一种在区分元素的符号之间描述术语、词干的字符串;按照符号、术语、词干的顺序描述的字符串;和按照术语、词干的顺序描述的字符串。
4.如权利要求3所述的方法,其中预定语法被限定,从而词干被定义为下述中的任意一种按照符号、术语和词干的顺序描述的字符串;和表示空的字符串或符号。
5.如权利要求4所述的方法,其中预定语法被限定,从而术语被定义为下述中的任意一种表示元素名的字符串;表示指定范围的字符串或符号;以名称空间前缀元素名的形式描述的字符串;以表示指定范围的符号元素名的形式描述的字符串;和以表示指定范围的符号字符串或表示指定范围的符号的形式描述的字符串。
6.如权利要求5所述的方法,其中预定语法被限定,从而表示指定范围的字符串被定义为下述中的任意一种“{”指定范围(范围)“}”;和表示空的字符串或符号。
7.如权利要求6所述的方法,其中指定范围包含与期望被搜索的元素对应的上层元素中该期望被搜索的元素的排列顺序信息。
8.如权利要求3所述的方法,其中以符号为基准,在该符号之前描述的字符串表示在该符号之后描述的字符串的上层元素。
9.一种用于从基于可扩展标记语言,即XML,格式的文档和库中搜索元素的方法,该方法包括如果输入元素的树状路径信息,则基于预定语法,解析树状路径信息,并检测至少一个元素的位置信息;解码检测到的位置信息;并且根据解码结果,在文档或库中搜索该元素。
10.如权利要求9所述的方法,其中树状路径信息描述为基于预定语法的字符串。
11.一种用于从基于XML格式的文档或库中搜索元素的设备,该设备包括存储介质,用于存储文档或库;解析和解码单元,如果输入元素的树状路径信息,则基于预定语法,解析该元素的树状路径信息,并向存储介质提供基于解析结果的该元素的搜索请求信号。
12.如权利要求11所述的设备,其中,树状路径信息描述为基于预定语法的字符串。
13.在计算机可读的记录介质上记录计算机程序,该程序用来实现从文档或库中搜索元素的方法,该方法包括如果输入元素的树状路径信息,则基于预定语法,解析该元素的树状路径信息;基于解析结果,从文档和库中搜索该元素。
全文摘要
本发明提供了一种方法和设备,通过利用基于预定语法的树状路径信息,容易且快速地在符合XML格式的文档或库中搜索特定的元素(或节点),和一种具有实现该方法的程序的记录介质。该方法包括如果输入元素的树状路径信息,则基于预定语法解析树状路径信息;并根据解析结果,从文档和库中搜索该元素。
文档编号G06F7/00GK1744081SQ20051005977
公开日2006年3月8日 申请日期2005年3月31日 优先权日2004年4月2日
发明者申盛国, 崔爀丞 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1