基于xml的文档的编码方法

文档序号:7582791阅读:159来源:国知局
专利名称:基于xml的文档的编码方法
技术领域
本发明涉及一种用于编码基于XML的文档的方法、一种相应的解码方法以及相应的编码装置和解码装置,该基于XML的文档包含根据XML模式语言定义(XML-Schema-Sprachdefinition)的内容。
XML(可扩展置标语言)是一种语言,利用该语言借助XML模式语言定义使得结构化说明文档的内容成为可能。XML模式的准确说明以及其中应用的结构、数据类型和内容模型参阅参考文献[1]、[2]和[3]。
从现有技术中已知用于编码基于XML的文档的方法,其中该文档被转换为所编码的二进制表示。例如文献[4]中说明了用于编码和解码基于XML的文档的方法,该文献[4]是在研制MPEG-7编码标准的范围中形成的。
从现有技术中已知的用于产生基于XML的文档的二进制表示的方法在编码具有“混合型”内容模型的“复数型”数据类型时具有缺点,因为除了元素外该数据类型还可包含文本内容,可是该文本内容只有通过解码所有数据流才可被重建。“复数型”数据类型以及“混合型”内容模型的进一步说明参阅文献[1]。
因此本发明的任务是,提出一种用于编码基于XML的文档的方法,该文档使得在具有“混合型”内容模型的“复数型”数据类型的被编码的文本内容上简单存取成为可能。
该任务通过独立权利要求来解决。本发明的扩展方案在从属权利要求中被定义。
在根据本发明的编码方法中,基于XML的文档的被编码的二进制表示通过以下方式产生,即通过编码表分配二进制的结构代码给该文档的内容,其中结构代码被分配给具有“混合型”内容模型的“复数型”数据类型的文本内容。该结构代码涉及文献[4]的7.6.1章节中所定义的模式分支代码SBC(Schema-Branch-Code)。通过在[4]中说明的将结构代码分配给该文档的内容可信号化或编址该内容在XML文档的结构中的位置。
实质上,本发明在于,具有“混合型”内容模型的类型为“复数型”的文本内容在代码分配时如类型定义中的元素声明那样被观察。与此相应,当针对该类型定义混合型内容模型时,针对编码所确定的结构代码除了被分配给类型定义中的所声明的元素以外还附加地被分配给文本内容。由此,文本内容在所编码的数据流中被编址,以致可存取该内容,而不必解码所有数据流。
在根据本发明的编码方法的优选实施方案中,向具有“混合型”内容模型的“复数型”数据类型的文本内容分配结构代码唯一地通过操作数TBC编码表来实现。该编码表确定所谓的操作数TBC(也就是所谓的操作数节点(操作数Node)的所谓的TBC(TBC=树形分支代码(Tree Branch Code)))的代码。操作数TBC和操作数节点的准确说明和定义参阅文献[4]的7.6.1以及7.6.5.2章节。
此外在特别优选的实施方案中,“位置代码”被分配给具有“混合型”内容模型的“复数型”数据类型的文本内容。在这种情况下,涉及在文献[4]的7.6.5.5章节中进一步说明的位置代码。由于在具有“混合型”内容模型的“复数型”数据类型中可以包含多个文本内容,所以由此信息被传输,数据类型内的文本内容位于该信息的位置处。
在特别优选的实施形式中,在分配“位置代码”时应用“单个元素位置代码”和/或“多个元素位置代码”。该位置代码在文献[4]的7.6.5.5章节中被进一步说明。当“复数型”的类型定义中的“模型组”在XML模式定义中不是多于一次地出现时,单个元素位置代码尤其被应用。“模型组”的定义参阅文献[2]。在这种情况下,该单个元素位置代码确定关于数据类型的实例化中的各自的词类(Partikel)的内容。针对词类的定义同样位于文献[2]中。单个元素位置代码在文本内容最大声明MPA+1次的假设下被编码,其中MPA表示所有在该数据类型中可能的词类实例化的数量。当在“复数型”的定义中“模型组”在XML模式定义中可不止一次地出现时,应用多个元素位置代码。多个元素位置代码在总共编址2*MPA+1个位置的假设下被编码,其中该代码再现关于数据类型的实例化中的所有词类的内容的位置。
在其它优选实施方案中,位置代码利用可变长度的代码编码,特别是利用代码vluimsbf5来编码,该代码vluimsbf5在文献[4]的4.3章节中说明。
除了以上说明的编码方法外,此外本发明包含解码方法,利用该解码方法根据以上说明的编码方法编码的基于XML的文档的二进制表示被解码。在该解码方法中,具有“混合型”内容模型的“复数型”数据类型的文本内容的二进制表达被转换为分配给结构代码(SBC)的基于XML的文档的文本内容,在编码时结构代码(SBC)被分配给该具有“混合型”内容模型的“复数型”数据类型的文本内容。
类似于编码方法,在优选的实施方案中,结构代码(SBC)的分配通过操作数TBC编码表来实现。
此外,在优选的实施方案中,具有“混合型”内容模型的“复数型”数据类型的(利用“位置代码”编址的)文本内容的二进制表达被转换为在所分配位置上的文本内容。在这种情况下,“位置代码”可以再次包含“单个元素位置代码”和/或“多个元素位置代码”。该位置代码涉及相同的位置代码,如它们关于编码方法被定义的那样。此外,类似于编码方法,“位置代码”可利用可变长度的代码来编码,其中该代码在位置代码转换为文本内容时被解码。优选地,位置代码利用代码vluimsbf5编码。
除了以上所说明的编码方法或解码方法以外,本发明此外包括一种编码方法和解码方法,其包括根据本发明的编码方法和根据本发明的解码方法。
此外,本发明涉及用于编码基于XML的文档的装置,利用该装置根据本发明的编码方法是可执行的,其中该装置包含存储装置,在该存储装置中至少存储将具有“混合型”内容模型的“复数型”数据类型的文本内容分配给结构代码。类似地,本发明涉及用于解码基于XML的文本的被编码的二进制表示的装置,其中该装置这样设立,使得根据本发明的解码方法是可执行的。该装置包括存储装置,在该存储装置中至少存储将结构代码分配给具有“混合型”内容模型的“复数型”数据类型的文本内容。
此外,本发明涉及用于编码和解码基于XML的文档的装置,该装置包含以上说明的根据本发明的编码装置和以上说明的根据本发明的解码装置。
本发明的实施例以下按照附图来说明。
其中

图1示出根据本发明的具有编码器和解码器的编码系统和解码系统的原理说明。
图2示出XML模式定义的图示,在该XML模式定义中此外定义具有“混合型”内容模型的“复数型”数据类型。
图3示出XML文档的图示,在该XML模式定义中在图2的XML模式定义中声明的元素“混合元素”被实例化;图4示出在图3的XML文档中实例化的元素“混合元素”的结构的图形说明;图5示出用于解释在具有“混合型”内容模型的“复数型”数据类型处结构代码的分配的图示;以及图6示出用于解释在具有“混合型”内容模型的“复数型”数据类型处“位置代码”的分配的图示。
在图1中,示例性地说明一个具有编码器ENC和解码器DEC的编码和解码系统,利用该编码器ENC和解码器DEC编码或解码XML文档DOC。不仅编码器而且解码器两者均具有所谓的XML模式S,在该模式S中声明和定义用于通信的XML文档的元素和类型。从模式S中,通过相应的模式编辑SC在编码器和解码器中产生代码表CT。当该XML文档DOC被编码时,通过代码表将二进制代码分配给XML文档的内容。由此,文档DOC的二进制表示BDOC被产生,该二进制表示借助代码表CT在解码器中又可被解码。
根据本发明的方法以此出众,即给具有“混合型”内容模型的“复数型”数据类型的文本内容分配二进制结构代码。这使得从二进制表示BDOC中滤出文本数据成为可能,而不必解码所有的二进制表示BDOC。
在图2中示例性地说明模式S,其中在该模式中在第4至10行中声明名字为“Example”的元素,该元素再次包含名字为“MixedElement”、类型为“MixedType”的一个元素。在第12至17行中定义类型“MixedType”。在这种情况下,涉及具有“混合型”内容模型的“复数型”数据类型,这尤其可从第12行中提取出。类型“MixedType”包含名字为“firstElement”和“secondElement”的两个元素,该两个元素的类型是“string”。
在图3中说明在XML文档中元素“MixedElement”的实例化。因为“混合型”内容模型可包含字符串形式的文本内容,所以可在第一元素“firstElement”和第二元素“secondElement”的前、后或之间出现文本内容。在图3的例子中,总共出现三个文本内容。
在图4中再次直观地以树形结构来说明元素“混合元素”的结构,该元素在图3中被实例化。在第一等级层中,五个另外的节点与最上面的混合元素/混合类型节点相关,该五个另外的节点不仅包含文本内容而且包含元素“firstElement”或“secondElement”。在第二等级层中,元素“firstElement”和“secondElement”此外包含相应的内容“firstElement的内容”或“secondElement的内容”。
基于XML语言的任意的文档可以通过所谓的树形结构来描述,其中XML文档的内容构成树形结构中的节点而所谓的语境路径指向这些节点。在编码时,二进制的结构代码被分配给该树形结构的节点。
按照现有技术,针对图4中所示出的元素节点“MixedElement”分配针对父节点以及针对元素“firstElement”和“secondElement”的结构代码。该父节点在这种情况下是在下一层较高的等级层中与元素“MixedElement”的节点连接的节点。与此不同的是,按照根据本发明的方法不仅分配针对父节点以及元素“firstElement”和“secondElement”的结构代码,而且此外还分配针对文本内容的结构代码。这在图5中被解释清楚,其中代码00被分配给父节点,代码01被分配给文本内容而代码10或11被分配给“firstElement”或“secondElement”。
在根据本发明的方法中,此外可能的是,也还分配“位置代码”给单个文本内容,如在图6中所说明的那样。因为总共在三个位置上可出现文本内容,所以对此必需三个“位置代码”,其中按照图6应用代码00、01和10。
文献索引[1]http//www.w3.org/TR/2001/REC-xmlschema-0-20010502/[2]http//www.w3.org/TR/2001/REC-xmlschema-1-20010502/[3]http//www.w3.org/TR/2001/REC-xmlschema-2-20010502/[4]ISO/IEC FDIS 15938-1″Information Technology-Multime-dia Content Description Interface-Part 1Systems″,Ge-neva 200权利要求
1.用于编码基于XML的文档(DOC)的方法,该基于XML的文档(DOC)包含按照XML模式语言定义的内容,其中通过以下方式产生该文档的被编码的二进制表示(BDOC),即二进制结构代码(SBC)通过编码表(CT)被分配给该文档的内容,其中给具有“混合型”内容模型的“复数型”数据类型的文本内容分配结构代码(SBC)。
2.根据权利要求1所述的方法,其中唯一地通过操作数TBC编码表实现将结构代码(SBC)分配给具有“混合型”内容模型的“复数型”数据类型的文本内容。
3.根据权利要求1或者2所述的方法,其中此外给具有“混合型”内容模型的“复数型”数据类型的文本内容分配“位置代码”。
4.根据权利要求3所述的方法,其中在分配“位置代码”时应用“单个元素位置代码”(SPC)和/或“多个元素位置代码”(MPC)。
5.根据权利要求3或者4所述的方法,其中所述“位置代码”利用可变长度的代码来编码。
6.根据权利要求5所述的方法,其中所述“位置代码”利用代码vluimsbf5来编码。
7.用于解码利用根据上述权利要求之一所述的方法编码的基于XML的文档(DOC)的二进制表示的方法,其中具有“混合型”内容模型的“复数型”数据类型的文本内容的二进制表达被转换为分配给结构代码(SBC)的所述基于XML的文档的文本内容,该结构代码(SBC)在编码时被分配给该具有“混合型”内容模型的“复数型”数据类型的文本内容。
8.根据权利要求7所述的方法,其中结构代码(SBC)的分配通过操作数TBC编码表来实现。
9.根据权利要求7或者8所述的用于解码利用根据权利要求3至6之一所述的方法编码的基于XML的文档(DOC)的二进制表示的方法,其中此外具有“混合型”内容模型的“复数型”数据类型的文本内容的二进制表达被转换为在所分配的位置上的文本内容,该具有“混合型”内容模型的“复数型”数据类型的文本内容利用“位置代码”来编址。
10.根据权利要求9所述的方法,其中所述“位置代码”包含“单个元素位置代码”(SPC)和/或“多个元素位置代码”(MPC)。
11.根据权利要求9或者10所述的方法,其中所述“位置代码”利用可变长度的代码来编码。
12.根据权利要求11所述的方法,其中所述“位置代码”利用代码vluimsbf5来编码。
13.用于编码和解码基于XML的文档的方法,其包括按照权利要求1至6之一所述的方法和按照权利要求7至12之一所述的方法。
14.用于根据权利要求1至6之一所述的方法编码基于XML的文档的装置,其包含存储装置,在该存储装置中至少存储将具有“混合型”内容模型的“复数型”数据类型的文本内容分配给结构代码(SBC)。
15.用于根据权利要求7至12之一所述的方法解码基于XML的文档的所编码的二进制表示的装置,其包含存储装置,在该存储装置中至少存储将结构代码(SBC)分配给具有“混合型”内容模型的“复数型”数据类型的文本内容。
16.用于编码和解码基于XML的文档(DOC)的装置,其包含根据权利要求14的装置和根据权利要求15的装置。
全文摘要
本发明涉及一种用于编码基于XML的文档(DOC)的方法,该基于XML的文档(DOC)包含按照XML模式语言定义的内容,其中通过以下方式产生该文档的被编码的二进制表示(BDOC),即二进制结构代码(SBC)通过编码表(CT)被分配给该文档的内容,其中给具有“混合型”内容模型的“复数型”数据类型的文本内容分配结构代码(SBC)。
文档编号H04N7/24GK1720522SQ200380104980
公开日2006年1月11日 申请日期2003年12月1日 优先权日2002年12月3日
发明者J·霍伊尔, A·哈特 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1