具有过滤树形路径的功能的处理器和过滤树形路径的方法转让专利

申请号 : CN200580014068.4

文献号 : CN1950816B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 申盛国崔爀丞

申请人 : 三星电子株式会社

摘要 :

提供一种可扩展标记语言(XML)处理器,它具有过滤基于XML文档的树形路径的功能,从而可以通过在基于XML文档中包含的元素中使用必要元素建立树形结构,以及提供一种树形路径过滤方法以及存储实现该方法的程序的记录介质。该方法包括:从该文档中检测满足预定树形路径策略的树形路径;以及通过使用检测到的树形路径,建立对应于该文档的树形结构。

权利要求 :

1.一种过滤输入文档的树形路径的方法,该方法包括:从该文档中检测满足预定树形路径策略的树形路径;以及通过使用检测到的树形路径,建立对应于该文档的树形结构。

2.如权利要求1所述的方法,其中,所述树形路径策略包括关于要包含在树形结构中的元素的、作为树形路径信息的信息。

3.如权利要求2所述的方法,其中,树形路径信息被描述为下列任一字符串:在区分元素的符号之间描述项和茎的字符串;以项、茎和符号的顺序描述的字符串;以符号、项和茎的顺序描述的字符串;以及以项和茎的顺序描述的字符串。

4.如权利要求2所述的方法,其中,所述检测树形路径的步骤包括:以树形路径或元素为单位分析文档;

确定在树形路径信息中是否包含与通过分析获得的树形路径或元素相同的数据;

如果在树形路径信息中包含通过分析获得的树形路径或元素,则将该树形路径或元素检测为满足树形路径策略;以及如果在树形路径信息中不包含通过分析获得的树形路径或元素,则忽略该树形路径或元素。

5.如权利要求1所述的方法,其中,该文档是基于可扩展标记语言的文档,并且该方法由分析基于XML的文档的处理器操作。

6.一种具有过滤输入文档中的树形路径的功能的处理器,包括:分析器,用于分析文档并在分析的数据中过滤必要数据的数据路径;

树形路径策略存储单元,用于存储关于预定树形路径策略的信息;和信息提供单元,用于参考树形路径策略存储单元中所存储的信息,如果分析器中分析的数据满足预定树形路径策略,则向分析器提供指示所分析的数据是必要数据的信息。

7.如权利要求6所述的处理器,其中,分析器以树形路径或元素为单位来分析文档。

8.如权利要求6所述的处理器,其中,分析器基于信息提供单元提供的指示所分析的数据是必要数据的信息,在分析的数据中检测必要数据,并且通过使用检测到的数据建立对应于该文档的树形结构。

9.如权利要求8所述的处理器,其中,所述关于预定树形路径策略的信息作为树形路径信息,定义关于要包含在树形结构中的元素。

10.如权利要求9所述的处理器,其中,树形路径信息被描述为下列任一字符串:在区分元素的符号之间描述项和茎的字符串;以项、茎和符号的顺序描述的字符串;以符号、项和茎的顺序描述的字符串;以及以项和茎的顺序描述的字符串。

11.如权利要求9所述的处理器,其中,如果在树形路径策略中定义的树形路径信息中包含所分析的数据,则信息提供单元确定所分析的数据满足树形路径策略。

12.如权利要求11所述的处理器,其中,信息提供单元包括比较单元,用于将所分析的数据与树形路径策略中定义的树形路径信息进行比较。

13.如权利要求6所述的处理器,其中,该文档是基于XML的文档。

说明书 :

技术领域

本发明涉及树形路径(tree path)过滤,尤其涉及一种具有树形路径过滤功能的可扩展标记语言(XML)处理器、树形路径过滤方法以及存储实现该方法的程序的记录介质。

背景技术

XML处理器分析基于XML的文档,并且它可以分为基于流的XML处理器和基于树的XML处理器。基于流的XML处理器逐个读取流中的字符,并且依次分析基于XML的文档。由于基于流的XML处理器在分析XML文档的时候不存储信息,因此它不需要大量存储空间。然而,由于操作员需要亲自存储必要信息,因此操作员有许多工作负担要做。通常,当XML文档以简单格式设计并且大小相对较大、而系统的存储容量小时,使用基于流的XML处理器。
基于树的XML处理器将基于XML的文档作为流、缓存和文件之一分析,并且在存储器中建立对应于该XML文档的树状结构。即,XML文档中包含的所有元素被存储在存储器中。这些元素包括属性或元数据。
例如,如果XML文档是图1所示的基于XML的多相视频(MultiPhotoVideo,MPV)文档,则基于树的XML处理器在存储器中建立树形结构,如图2所示。通常,当XML文档很复杂、大小相对较小、并且具有内部交叉引用、而系统的存储容量大时,使用基于树的XML处理器。

发明内容

技术问题
在基于树的XML处理器中,由于所有元素都被存储在存储器中,因此不必要的元素也可能被存储在存储器中。例如,在MP3播放器的情况下,如果MP3播放器只能再现音频信号,而输入的XML文档除了‘audio’(音频)元素外还包含‘still’(无声)元素,则‘still’元素也被存储在置于MP3播放器中的存储器中。
然而,如上所述,由于MP3播放器只能再现音频信号,因此存储在存储器中的元素除了与音频信号有关的元素外,成为无用的信息。因此当使用基于树的XML处理器时,可能会不必要地消耗存储容量。
技术解决方案
本发明提供一种具有过滤基于XML的文档的树形路径的功能的可扩展标记语言(XML)处理器、树形路径过滤方法及存储实现该方法的程序的记录介质,从而可以通过使用基于XML的文档中所包含的元素当中的必要元素,建立树形结构。
有益效果
在如上所述的本发明中,当在基于树的XML处理器中建立对应于XML文档的树形结构时,基于预先定义的树形路径策略信息过滤树形路径,并且基于过滤的树形路径建立树形结构,从而可以防止对存储容量的不必要使用.因此,即使在具有较小的存储容量的系统中,也可以使用基于树的XML处理器.
最佳模式
根据本发明的一个方面,提供一种用于过滤输入文档的树形路径的树形路径过滤方法,该方法包括:从该文档中检测满足预定树形路径策略的树形路径;以及通过使用检测到的树形路径,建立对应于该文档的树形结构。
所述树形路径策略可以定义要包含在树形结构中的元素,作为树形路径信息。
树形路径信息可以被描述为下列任一字符串:在区分元素的符号之间描述项和茎的字符串、以项、茎和符号的顺序描述的字符串、以符号、项和茎的顺序描述的字符串、以及以项和茎的顺序描述的字符串。
所述检测树形路径的步骤可以包括:以树形路径或元素为单位分析文档;确定在树形路径信息中是否包含与通过分析获得的树形路径或元素相同的数据;如果在树形路径信息中包含通过分析获得的树形路径或元素,则将该树形路径或元素检测为满足树形路径策略;以及如果在树形路径信息中不包含通过分析获得的树形路径或元素,则忽略该树形路径或元素。
该文档可以是基于可扩展标记语言的文档,并且该方法由分析基于XML的文档的处理器操作。
根据本发明的另一个方面,提供一种具有过滤输入文档中的树形路径的功能的处理器,包括:分析器,用于分析文档并在分析的数据中过滤必要数据的树形路径;树形路径策略存储单元,用于存储关于预定树形路径策略的信息;和信息提供单元,用于参考树形路径策略存储单元中所存储的信息,如果分析器中分析的数据满足预定树形路径策略信息,则向分析器提供指示所分析的数据是必要数据的信息。
分析器可以基于信息提供单元提供的指示所分析的数据是必要数据的信息,在分析的数据中检测必要数据,并且通过使用检测到的数据建立对应于该文档的树形结构。
树形路径信息可以被描述为下列任一字符串:在区分元素的符号之间描述项和茎的字符串、以项、茎和符号的顺序描述的字符串、以符号、项和茎的顺序描述的字符串、以及以项和茎的顺序描述的字符串。
如果在树形路径策略中定义的树形路径信息中包含所分析的数据,则信息提供单元可以确定所分析的数据满足树形路径策略。
信息提供单元可以包括比较单元,用于将所分析的数据与树形路径信息进行比较。
根据本发明的再一个方面,提供一种其上实现有计算机程序的计算机可读记录介质,该计算机程序用于执行过滤输入文档中的树形路径的方法,该方法包括:基于满足预定树形路径策略的树形路径或元素在该文档中检测树形路径;以及通过使用检测到的树形路径,建立对应于该文档的树形结构。
附图描述
图1示出基于XML的多相视频(MPV)文档的例子;
图2是对应于图1所示的MPV文档的树形图;
图3是根据本发明一个实施例的、包括XML处理器的系统的功能框图;
图4示出根据本发明一个实施例的XML处理器获得的树形图的例子;以及
图5是根据本发明一个实施例的树形路径过滤方法所执行的操作的流程图。

具体实施方式

现在将参照附图更充分地描述本发明,在附图中示出了本发明的示例性实施例。
参照图3,包括根据本发明示例性实施例的XML处理器的系统具有XML处理器300和存储器310。该系统是能够使用基于XML的文档的装置,如计算机系统和DVD播放器。
XML处理器300分析输入的XML文档,过滤XML文档的树形路径,并且在存储器310中建立输入XML文档的树形结构。为此,XML处理器300具有XML分析器301、比较单元302和树形路径策略存储单元303。
XML文档是基于XML的文档。如果输入了XML文档,XML分析器301分析该XML文档,并且以树形路径为单位检测XML数据。例如,当以图2中的树形路径为单位检测XML数据时,XML分析器301将‘|mpv:still|nmf:metadata|dc:Properties|dc:creator|seoung-kook shin |’作为一个树形路径检测,将‘|mpv:still|nmf:Metadata|dc:Properties|dc:titile|Central Park|’作为一个树形路径检测,将‘|mpv:still|nmf:Metadata |dcterms:Properties|dcterms:created|2004-03-14T...|’作为一个树形路径检测,并且将‘|mpv:still|mpv:LastURL|STILL001.JPG|’作为一个树形路径检测。
由此检测的XML数据被送到比较单元302。如果输入了来自比较单元302的指示所检测的XML数据是必要数据的信号,则XML分析器301在存储器310中建立包含所检测的XML数据的树形结构。然而,如果输入了来自比较单元302的指示所检测的XML数据不是必要数据的信号,则XML分析器301忽略所检测的XML数据,并且检测XML文档中紧跟所检测的XML数据之后的XML数据(或XML树形路径),并且重复上述处理。
如果从XML分析器301输入XML数据,则比较单元302将其与存储在树形路径策略存储单元303中的XML数据进行比较,并且确定输入的XML数据是否满足树形路径策略。即,如果在输入的XML数据中存在对应于树形路径策略信息的数据,则比较单元302确定输入的XML数据满足树形路径策略,并且向XML分析器301提供指示所检测的XML数据是必要数据的信号。例如,如果输入的XML数据是‘|mpv:still|nmf:Metadata|dc:Properties|dc:titile|central Park|’,而树形策略信息是‘*|dc:title|*’,则比较单元向XML分析器301提供指示输入的XML数据是必要数据的信号。
然而,如果输入的XML数据中不存在对应于树形路径策略信息的数据,则比较单元302确定输入的XML数据不满足树形路径策略,并且向XML分析器301提供指示所检测的XML数据是不必要数据的信号。例如,如果输入的XML数据是‘|mpv:still|nmf:metadata|dc:Properties|dc:creator|seoung-kook shin|’,而树形路径策略信息是‘*|dc:title|*’,则比较单元向XML分析器301提供指示输入的XML数据是不必要数据的信号。
因此,比较单元302可以被定义为信息提供单元,它提供通过确定输入的XML数据是否满足树形路径策略而获得的信息。
因此,XML分析器301所提供的XML数据和树形路径策略存储单元303中所存储的XML数据可以具有树形路径格式.例如,如果XML文档是图1所示的MPV文件,并且只需要元数据,则树形路径策略存储单元303中所存储的树形路径策略信息可以被定义为至少诸如‘*|dc:title|*’之类的树形路径信息.树形路径策略信息可以被定义为包含元素的树形路径信息,如‘|mpv:still|nmf:Metadata|dc:Properties|dc:titile|central Park|’和‘*|dc:title|*’。
当XML分析器301以元素为单位分析XML数据并且将分析的数据提供给比较单元302时,XML分析器301所提供的XML数据没有树形路径格式,但树形路径策略存储单元303具有如上所述的树形路径格式。在这种情况下,比较单元302执行比较来确定树形路径策略存储单元303中所存储的元素信息中是否有与分析的XML数据相同的信息,并基于比较结果,向XML分析器301提供指示分析的XML数据是否必要的信号。
如果存储在树形路径策略存储单元303中的树形路径信息是‘*|dc:title|*’,则除了包含‘dc:title’元素的树形路径之外的树形路径被比较单元302当作不必要的树形路径。因此,XML分析器301在存储器301中建立的树形结构如图4所示。
可以基于表1所示的XML树形路径信息,定义存储在树形路径策略存储单元303中的树形路径策略信息:
表1
  XML树形路径信息 定义   |aa|bb{3-}| ‘aa’是根元素。忽略‘aa’根元素中包含的第一和第二个名为‘bb’的子元素,而指示   第三个名为‘bb’的子元素。   |a:b|a:c|   指示具有‘a’作为名字空间前缀的‘b’元素  的名为‘c’的子元素。‘a:b’是根元素。   |aa|*{3}|   指示‘aa’元素的第三个子元素,并且指示  元素名并不重要。‘aa’是根元素。   |a|*|   指示‘a’元素的所有子元素,并且‘a’是根  元素。子元素的名字不重要。例如,|a|b|、  |a|d|和|a|any|是允许的,但|a|b|c|不允  许。   |a|*   指示‘a’元素的所有继承子元素。‘a’是根  元素。除了‘a’元素的直接子元素之外,  还指示以‘a’元素为直接或间接先辈的所  有子元素。
  XML树形路径信息 定义   |*:a|*:b{2}|*   ‘a’是根元素,并且前缀名不重要。指示‘a’  元素的第二个名为‘b’的子元素的所有子  元素。   *|a|b|   指示具有名为‘a’的直接父元素、并且以  ‘b’为第一节点的元素。‘a’元素的父元素  不重要。   a|b|   指示作为第一个‘a’元素的子元素、并且  以‘b’作为第一节点名的元素,第一个‘a’  元素是任意基元素的子元素。
此外,可以通过考虑系统的功能来定义树形路径策略存储单元303中存储的树形路径策略信息。例如,在系统是MP3播放器的情况下,树形路径策略信息可以被定义为具有与音频有关的树形路径信息的XML数据。例如,可以定义包含音频元素的树形路径策略信息,如‘*|*:audio|*’。
因此,树形路径策略可以定义要包含在建立为树形路径信息的树中的元素。该元素可以包含属性,并且可以当作树形结构中的一个节点。树形路径信息形式可以描述为下列任一字符串:在区分元素的符号之间描述term(项)和stem(茎)(|term stem|)的字符串、以term、stem和符号的顺序描述的字符串(term stem|)、以符号、term和stem的顺序描述的字符串(|term stem)、以及以term和stem的顺序描述的字符串。
存储器310基于XML分析器301过滤的XML数据,存储具有树形结构的XML文档。
图5是根据本发明示例性实施例的树形路径过滤方法所执行的操作的流程图。在操作501中,如参照图3所述,以树形路径或元素为单位,分析XML文档。在操作502中,确定以树形路径或元素为单位分析的XML数据是否满足预先设置的树形路径策略。即,如果预先设置的树形路径策略信息包含与分析和检测的一个树形路径或元素的XML数据相同的数据(或字符串),则确定这一个树形路径或元素的XML数据满足预先设置的树形路径策略。
如果一个树形路径或元素的XML数据满足树形路径策略,则在操作503中,将该树形路径或元素的XML数据检测为要在建立对应于该XML数据的树形结构时使用的树形路径或元素。如果在操作504中,针对是否满足树形路径策略检查了该XML文档中包含的所有树形路径或元素的XML数据,则在操作505中通过使用所检测的树形路径或元素的XML数据来建立XML文档的树形路径。
然而,如果在XML文档中包含的树形路径或元素中存在未针对是否满足树形路径策略进行检查的树形路径或元素,则处理返回到操作502,并且对下一个分析的树形路径或元素重复执行上述处理。
如果以树形路径或元素为单位分析的XML数据不满足树形路径策略,则在操作506中不检测XML数据,使得当建立对应于该XML文档的树形结构时,不使用以树形路径或元素为单位的该XML数据。即,对以树形路径或元素为单位分析的XML数据进行处理,使得当建立树形结构时忽略该XML数据。然后,执行操作504并且重复执行上述处理。
图5示出针对是否满足树形路径策略检查了输入文档的所有XML数据之后,建立对应于该输入文档的树形结构的例子。然而,也可以实现该树形路径过滤方法,使得一旦满足树形路径策略的XML数据被检测到就建立树形结构。
用于执行如上所述在基于树的XML处理器中建立对应于XML文档的树形结构时过滤树形路径的方法的程序,也可以作为计算机可读代码实现在计算机可读记录介质上。计算机可读记录介质是可以存储其后可由计算机系统读取的数据的任何数据存储设备。计算机可读记录介质的例子包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光数据存储设备和载波(如通过因特网的数据传输)。
计算机可读记录介质也可以分布在网络互连的计算机系统上,从而以分布式存储和执行计算机可读代码。此外,本发明所属领域的技术人员可以容易地构思出完成本发明的功能程序、代码和代码段。
尽管参照其示例性实施例具体示出和描述了本发明,但本领域普通技术人员应当理解,在不背离权利要求书所限定的本发明宗旨和范围的前提下,可以对其形式和细节进行各种修改。