CN101807205B - 用于处理xml数据的处理模块、设备和方法 - Google Patents
用于处理xml数据的处理模块、设备和方法 Download PDFInfo
- Publication number
- CN101807205B CN101807205B CN201010120484.5A CN201010120484A CN101807205B CN 101807205 B CN101807205 B CN 101807205B CN 201010120484 A CN201010120484 A CN 201010120484A CN 101807205 B CN101807205 B CN 101807205B
- Authority
- CN
- China
- Prior art keywords
- state
- finite
- xml
- code
- automata
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明涉及一种用于通过使用有限状态自动机处理XML数据的模块和方法,其中所述XML数据基于预先确定的XML范式,并且其中所述有限状态自动机包括基于所述预先确定的XML范式而设置的状态和转换。在所述有限状态自动机中,所述有限状态自动机的涉及所述XML范式的元素或属性的至少一个转换包括长度可变的二进制代码,所述长度可变的二进制代码被配置为对所述XML范式的所述元素或属性进行编码。本发明提供了在若干技术领域的若干系统或设备中的XML数据的改进处理,其中能够节约所述系统和设备中的存储器资源和处理资源或者成本。
Description
技术领域
本发明涉及一种用于通过使用有限状态自动机处理XML数据的模块和方法,其中所述XML数据基于预先确定的XML范式(schema),并且其中所述有限状态自动机包括基于所述预先确定的XML范式而设置的状态和转换。
背景技术
在当前许多技术、应用、系统、装置等中以及在一些技术领域(工业系统、通信系统等)中,通过使用可扩展标记语言(XML)执行数据交换。XML是用于创建定制标记语言的通用规范。XML通常允许用户定义标记元素并且例如使得能够共享结构化数据、对文档进行编码和/或对数据进行串行化。
然而,除了开发XML的可能之外以及XML在一些技术领域以及一些技术环境中的广泛使用之外,文本XML数据也具有存储器需求庞大、处理时间长的缺陷,并且缺少紧凑性(compactness)。
因此,已经引入了二进制XML格式,以便能够对文本XML数据进行更有效并且更加节约存储器资源的处理。这样的二进制XML格式例如是用于XML(BiM)的ISO 23001:1二进制MPEG格式或者W3C高效XML互换(EXI)。
特别地,二进制XML或者二进制可扩展标记语言是指以二进制格式定义XML的紧凑表示形式的任意规范。二进制XML格式通常减小了XML文档的大小,并且由此降低了存储器需求。此外,二进制XML格式例如减少了计算时间和计算资源,这会在执行XML文档或文件的解析和/或处理时发生。
然而,随着诸如BiM或EXI的一些二进制XML格式被具有有限资源的不适于提供和支持若干这些二进制XML格式的市场系统和设备(例如,诸如家庭TI MSP430的那些小型uControler)所采用,由于对于每种格式需要有限状态自动机的特定集合,所以这进而需要额外的存储器资源。
因此,当利用若干种二进制XML格式时,仍然存在与存储器需求增加相关的缺点。
发明内容
本发明的目标是使得能够对数据进行改进的操作和处理,尤其是对若干技术领域的若干系统、应用和/或设备中的XML数据进行改进的操作和处理。
该目标通过一种包括根据权利要求1的特征的被配置为用于处理XML数据的处理模块、一种包括根据权利要求8的特征的设备、一种包括根据权利要求14的特征的方法以及一种包括根据权利要求15的特征的自动机发生器来实现。
本发明进一步的实施例是根据相应的从属权利要求提供的。
本发明的目标通过一种处理模块来实现,所述处理模块被配置为用于通过使用有限状态自动机对XML数据进行处理,其中:
-所述XML数据基于预先确定或预先定义的XML范式;
-所述有限状态自动机包括状态和转换,所述状态和转换基于所述预先确定的XML范式所设置;并且
-所述转换中涉及或定义所述XML范式的元素或属性的至少一个(或每个)转换包括长度可变的二进制代码,即与从特定状态进行的转换的所有代码相比长度可变的二进制代码,所述长度可变的二进制代码被设置为对所述XML范式的所述元素或属性的例示(instantiation)进行编码。
因此,本发明通过对所有若干种格式使用一个有限状态自动机而允许支持若干种二进制XML格式(例如,BiM或EXI),其中所述有限状态自动机是关于预先定义或预先确定的特定XML范式而提供的。诸如W3C XML范式或ISO/IEC 19757-2 Relax NG的XML范式通常包括一组规则,XML文档必须遵循这组规则以便根据该范式被认为是“有效的”。
以这种方式,能够对XML数据进行改进的操作和处理,其中特别地,显著减少了负责操作和处理XML数据的组件的存储器需求和处理时间。此外,还向相应组件提供了与处理XML数据相关的有所增加的灵活性,原因在于在此不存在对预先定义的特定二进制XML格式的约束。
根据本发明的实施例,所述转换中涉及以所述XML范式所声明的元素或属性的所述至少一个(或每个)转换包括固定长度的二进制代码,即与从特定状态进行的转换的所有代码相比长度固定的二进制代码,作为进一步的代码,所述固定长度的二进制代码被设置为对在所述XML范式中所声明的所述元素或属性进行编码。
此外,根据本发明的实施例,如果所述XML数据是文本XML,则所述处理模块被配置为将所述文本XML编码为二进制XML格式的XML数据,其中所述有限状态自动机的所述状态和转换通常被配置为通过使用所述固定长度的二进制代码或者使用向所述转换中的所述至少一个(或每个)转换分配的所述长度可变的二进制代码将所述文本XML编码为所述二进制XML格式的所述XML数据,所述至少一个(或每个)转换涉及在所述XML范式中所声明的元素或属性。
以这种方式,所述处理模块作为编码模块。由此,例如所述处理模块能够为了传输目的而将文本XML编码为二进制XML数据格式。
这里必须要注意到的是,根据本发明,术语“在所述XML范式中所声明的元素和/或属性”需要以通常关于W3C XML范式所定义和使用的常规方式来理解。
根据本发明的实施例,如果所述XML数据是二进制XML格式的XML数据,则所述处理模块被配置为将所述二进制XML格式的所述XML数据解码为文本XML,其中所述有限状态自动机的所述状态和转换被配置为通过使用所述固定长度的二进制代码或者使用向每个所述转换分配的所述长度可变的二进制代码将所述二进制XML格式的所述XML数据解码为所述文本XML。
以这种方式,所述处理模块用作解码模块。由此,例如所述处理模块能够将以二进制XML数据格式接收的XML数据解码为文本XML数据格式以便进一步使用XML数据。
根据本发明的实施例,所述长度可变的二进制代码表示根据二进制XML格式BiM的代码。
ISO/IEC 23001-1 BiM是目前最为普遍使用的二进制XML格式。最初,其被设计为对MPEG的MPEG-7元数据格式进行编码。例如,这种二进制格式通常开放了在资源有限的系统、特别是嵌入式系统中使用XML的机会。此外,BiM提供了文本XML数据的显著压缩,并且由此使得能够在传送XML数据时节约带宽。而且,BiM还允许对XML文档的各部分进行处理,而不仅是处理整个XML文档。例如,XML文档的部分处理能够实现并确保了进一步的存储器资源节约并且进一步降低了诸如处理时间的处理成本。
因此,本发明能够支持最为常用的二进制XML格式之一,并且还利用了BiM的优势-适合于资源有限的系统、良好的文本XML数据压缩、节约存储器资源、文本XML数据的部分处理以及降低处理成本。
根据本发明进一步的实施例,所述固定长度的二进制代码表示根据二进制XML格式W3C EXI的代码。
目前,EXI表示一种新的二进制格式,其改进了与XML的兼容性。EXI表示BiM的替换方式,并且也可以在资源有限的设备中使用,其中EXI提供以上列出的与BiM相关的优势,并且还能够在例如也传送对于特定XML范式无效的XML文档的异类网络或环境中良好地执行数据通信。
因此,本发明还能够支持未来的二进制XML格式,并且还进一步利用了EXI的优势-例如在异类网络或环境中进行良好的数据通信。
根据本发明的实施例,所生成的有限状态自动机的数目依赖于所述XML范式的所定义的综合类型的数目:
-通过使用所述XML范式而根据所述二进制XML格式EXI所生成的第一有限状态自动机的数目等于所述XML范式的所定义的综合类型的数目
-通过使用所述XML范式而根据所述二进制XML格式BiM所生成的第二有限状态自动机的数目等于所述XML范式的所定义的综合类型的数目。
在以下内容中,所述状态自动机的状态和转换被进一步归类为例如ISO/IEC 23001-1 BiM中所定义的那些子类。在以下内容中,元素转换声明在交叉指定哪个XML元素出现在文本XML数据中时的转换。类似地,属性转换声明在交叉指定哪个XML属性出现在文本XML数据中时的转换。代码转换与二进制代码相关联。简单状态不具有特定行为,它们被用来构建所述自动机。类型状态触发该类型的内容-例如XML元素的内容-的编码并且通过元素转换所输入。开始状态和停止状态是从范式定义所得出的所述有限状态自动机的开始状态和停止状态。
在以下内容中,如果被分配给从特定状态开始的转换的二进制代码的长度是变化的,则代码转换的代码被描述为长度可变的代码。
根据本发明的实施例,所述有限状态自动机通过以下步骤所生成:
-通过使用所述XML范式根据所述二进制XML格式EXI生成第一有限状态自动机;
-通过使用所述XML范式根据所述二进制XML格式BiM生成第二有限状态自动机;
-识别两个自动机中相同元素和属性的元素和属性转换;
-连接所述第二有限状态自动机中分配给代码转换或所述第二有限状态自动机的固定长度的代码,这使得:
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的元素或属性转换之前的简单状态,所述简单状态是所述开始状态之后的状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的元素或属性转换之前的进一步或后续的简单状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的结束状态,如果没有在所述类型状态和所述结束状态之间提供进一步的类型状态的话;或者
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的结束状态,如果没有在所述开始状态和所述结束状态之间提供进一步的类型状态的话;
连接固定长度的代码产生长度可变的代码,即与从特定状态进行的转换的所有代码相比长度可变的代码;
-通过以下步骤之一修正所述第一有限状态自动机:将通过所述连接所获得的每个所述长度可变的代码作为附加的二进制代码添加到所述第一有限状态自动机的相应代码,或者以来自通过所述连接所获得的所述长度可变的代码的相应的长度可变的代码替代所述第一有限状态自动机的每个代码;并且
-提供所述第一有限状态自动机作为还被称作一般性自动机的所述有限状态自动机。
由此,本发明使得能够自动生成有限状态自动机,其利用相同的状态自动机建立EXI和BiM编解码器,其中仅需要XML范式的知识。
即使是利用相同的状态自动机建立EXI和BiM编解码器的有限状态自动机的更小的表示形式也能够通过如以上所描述的以来自通过所述连接所获得的所述长度可变的代码的相应的长度可变的代码替代所述第一有限状态自动机的每个代码,并且通过以下步骤生成EXI的固定长度的代码而得到:
-对状态的转换进行计数以确定固定长度的代码的代码长度;并且
-确定并编码所述转换的位置以便利用所述代码长度来编码。
本发明的目标还通过一种包括代码的计算机程序产品来实现,所述代码被配置为实施和/或执行所述处理模块的活动,尤其是所述处理模块中所包括的有限状态自动机的活动。
根据本发明的实施例,所述代码体现在数据载体上。根据本发明进一步的实施例,所述计算机程序产品被配置为在其被诸如处理器的处理单元所执行时执行所述处理模块的动作。
本发明的目标通过包括所述计算机程序产品的数据载体来实现。
本发明的目标还通过包括所述处理模块的设备来实现。
根据本发明的实施例,所述设备包括传送模块,所述传送模块被配置为对所述处理模块所处理的XML数据进行传送。这里,所述处理模块所处理的所述XML数据可以是二进制XML格式的XML数据。
因此,所述传送模块被配置为对由所述处理模块编码为二进制XML格式的XML数据进行传送。
根据本发明进一步的实施例,所述设备包括接收模块,所述处理模块被配置为对所述接收模块所接收的XML数据进行处理。这里,所述接收模块所接收的所述XML数据可以是二进制XML格式的XML数据。因此,所述接收模块被配置为接收由其它处理模块编码为二进制XML格式的XML数据,其中所述其它处理模块对应于以上所概述并且在接下来进行更为详细解释的处理模块。
根据本发明的实施例,所述设备包括自动机生成模块,其被配置为通过以下步骤生成所述有限状态自动机:
-通过使用所述XML范式根据所述二进制XML格式EXI生成第一有限状态自动机;
-通过使用所述XML范式根据所述二进制XML格式BiM生成第二有限状态自动机;
-识别两个自动机中相同元素和属性的元素和属性转换;
-连接所述第二有限状态自动机中分配给代码转换或所述第二有限状态自动机的固定长度的代码,这使得:
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的元素或属性转换之前的简单状态,所述简单状态是所述开始状态之后的状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的元素或属性转换之前的进一步或后续的简单状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的结束状态,如果没有在所述类型状态和所述结束状态之间提供进一步的类型状态的话;或者
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的结束状态,如果没有在所述开始状态和所述结束状态之间提供进一步的类型状态的话;
连接固定长度的代码产生长度可变的代码,即与从特定状态进行的转换的所有代码相比长度可变的代码;
-通过以下步骤之一修正所述第一有限状态自动机:将通过所述连接所获得的每个所述长度可变的代码作为附加的二进制代码添加到所述第一有限状态自动机的相应代码,或者以来自通过所述连接所获得的所述长度可变的代码的相应的长度可变的代码替代所述第一有限状态自动机的每个代码;并且
-提供所述第一有限状态自动机作为所述有限状态自动机。
由此,本发明使得能够自动生成有限状态自动机,其利用相同的状态自动机建立EXI和BiM编解码器,其中仅需要XML范式的知识。
即使是利用相同的状态自动机建立EXI和BiM编解码器的有限状态自动机的更小的表示形式也能够通过如以上所描述的以来自通过所述连接所获得的所述长度可变的代码的相应的长度可变的代码替代所述第一有限状态自动机的每个代码,并且通过以下步骤生成EXI的固定长度的代码而得到:
-对状态的转换进行计数以确定固定长度的代码的代码长度;并且
-确定并编码所述转换的位置以利用所述代码长度进行编码。
此外,本发明的目标通过一种系统来实现,所述系统包括所述处理模块。通常,所述系统的模块能够被配置为与以上所介绍的设备的模块相类似。
此外,本发明的目标通过一种用于生成有限状态自动机的方法来实现,所述有限状态自动机被配置为处理XML数据,其中所述XML数据基于预先确定的XML范式,并且其中所述有限状态自动机包括基于所述预先确定的XML范式而设置的状态和转换,所述方法包括:
-通过使用所述XML范式根据二进制XML格式EXI生成第一有限状态自动机;
-通过使用所述XML范式根据二进制XML格式BiM生成第二有限状态自动机;
-识别两个自动机中相同元素和属性的元素和属性转换;
-连接所述第二有限状态自动机中分配给代码转换或所述第二有限状态自动机的固定长度的代码,这使得:
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的元素或属性转换之前的简单状态,所述简单状态是所述开始状态之后的状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的元素或属性转换之前的进一步或后续的简单状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的结束状态,如果没有在所述类型状态和所述结束状态之间提供进一步的类型状态的话;或者
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的结束状态,如果没有在所述开始状态和所述结束状态之间提供进一步的类型状态的话;
连接固定长度的代码产生长度可变的代码,即与从特定状态进行的转换的所有代码相比长度可变的代码;
-通过以下步骤之一修正所述第一有限状态自动机:将通过所述连接所获得的每个所述长度可变的代码作为附加的二进制代码添加到所述第一有限状态自动机的相应代码,或者以来自通过所述连接所获得的所述长度可变的代码的相应的长度可变的代码替代所述第一有限状态自动机的每个代码;并且
-提供所述第一有限状态自动机作为所述有限状态自动机。
即使是利用相同的状态自动机建立EXI和BiM编解码器的有限状态自动机的更小的表示形式也能够通过如以上所描述的以来自通过所述连接所获得的所述长度可变的代码的相应的长度可变的代码替代所述第一有限状态自动机的每个代码,并且通过以下步骤生成EXI的固定长度的代码而得到:
-对状态的转换进行计数以确定固定长度的代码的代码长度;并且
-确定并编码所述转换的位置以利用所述代码长度进行编码。
本发明的目标还通过一种包括代码的计算机程序产品来实现,所述代码被配置为实施和/或执行用于生成有限状态自动机的所述方法。
根据本发明的实施例,所述代码体现在数据载体上。根据本发明进一步的实施例,所述计算机程序产品被配置为在其被诸如处理器的处理单元所执行时执行所述方法。
本发明的目标通过包括所述计算机程序产品的数据载体来实现。
此外,本发明的目标还通过一种自动机生成模块来实现,其被配置为通过以下步骤生成所述有限状态自动机:
-通过使用所述XML范式根据所述二进制XML格式EXI生成第一有限状态自动机;
-通过使用所述XML范式根据所述二进制XML格式BiM生成第二有限状态自动机;
-识别两个自动机中相同元素和属性的元素和属性转换;
-连接所述第二有限状态自动机中分配给代码转换或所述第二有限状态自动机的固定长度的代码,这使得:
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的元素或属性转换之前的简单状态,所述简单状态是所述开始状态之后的状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的元素或属性转换之前的进一步或后续的简单状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的结束状态,如果没有在所述类型状态和所述结束状态之间提供进一步的类型状态的话;或者
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的结束状态,如果没有在所述开始状态和所述结束状态之间提供进一步的类型状态的话;
连接固定长度的代码产生长度可变的代码,即与从特定状态进行的转换的所有代码相比长度可变的代码;
-通过以下步骤之一修正所述第一有限状态自动机:将通过所述连接所获得的每个所述长度可变的代码作为附加的二进制代码添加到所述第一有限状态自动机的相应代码,或者以来自通过所述连接所获得的所述长度可变的代码的相应的长度可变的代码替代所述第一有限状态自动机的每个代码;并且
-提供所述第一有限状态自动机作为所述有限状态自动机。
所述自动机生成模块可以是硬件和/或软件模块。
因此,本发明为例如BiM或EXI的若干二进制XML格式实现有效并且节约时间和存储器的自动机。特别地,本发明开放了在资源有限的设备中开发若干种二进制格式的机会。
即使是利用相同的状态自动机建立EXI和BiM编解码器的有限状态自动机的更小的表示形式也能够通过如以上所描述的以来自通过所述连接所获得的所述长度可变的代码的相应的长度可变的代码替代所述第一有限状态自动机的每个代码,并且通过以下步骤生成EXI的固定长度的代码而得到:
-对状态的转换进行计数以确定固定长度的代码的代码长度;并且
-确定并编码所述转换的位置以利用所述代码长度进行编码。
一般来说,本发明能够改进若干技术领域中的若干系统、应用和/或设备中的XML数据的操作和处理,其中特别地,能够减少处理时间和存储器需求,并且实现了XML数据处理的灵活度和效率的增强。
附图说明
根据以下结合附图对本发明的优选实施例所进行的描述,将会更为清楚地理解本发明,其中:
图1示出了包括处理模块的设备,所述设备和所述处理模块根据本发明的实施例进行配置;
图2示出了根据本发明的实施例所配置的两个设备之间的XML数据的通信;
图3示出了根据已知二进制XML格式BiM建立的有限状态自动机,所述二进制XML格式BiM包括固定长度的代码并且其能够由根据本发明实施例的有限状态自动机所支持;
图4示出了根据已知二进制XML格式EXL建立的有限状态自动机,所述二进制XML格式EXL包括固定长度的代码并且其能够由根据本发明实施例的有限状态自动机所支持;
图5示出了根据本发明实施例的有限状态自动机;并且
图6示出了对根据本发明实施例的用于生成有限状态自动机的方法的步骤进行解释的框图。
具体实施方式
图1示出了包括处理模块12的设备1,所述设备1和所述处理模块12根据本发明的实施例进行配置。
处理模块12被配置为处理基于预先定义的XML范式的XML数据。为此,处理模块12使用有限状态自动机121,该有限状态自动机121包括状态和转换,这二者均基于所述预先定义的XML范式。此外,有限状态自动机121的转换被配置为以使得它们表示两种二进制代码:与从特定状态进行的转换的所有代码相比固定长度的代码,以及与从特定状态进行的转换的所有代码相比长度可变的代码。所述代码用于对所述预先定义的XML范式所声明的元素和属性进行编码。
所述处理模块12能够执行以下两种功能中的至少一种:将文本XML数据编码为二进制XML格式,以及将以二进制XML格式提供的数据解码为文本XML数据。
在第一种情况中,如果处理模块12用作编码器,则有限状态自动机121的状态和转换被配置为通过一方面使用对指示元素或属性存在的代码转换所分配的代码以及另一方面使用在用于文本XML数据的元素或属性内容编码的类型状态中所涉及的类型编码器或编解码器来对文本XML数据进行编码。
在第二种情况下,如果处理模块12用作解码器,则有限状态自动机121的状态和转换被配置为通过一方面使用对指示元素或属性存在的代码转换所分配的代码以及另一方面使用在用于元素或属性内容解码的类型状态中所涉及的类型解码器或编解码器来对以二进制XML格式所提供的数据进行解码。
在这两种情况下,都将使用长度可变的代码或固定长度的代码。代码的选择基于要用于解码或编码的二进制XML格式。如果该二进制XML格式需要长度可变的代码,则使用对有限状态自动机121的转换所分配的长度可变的代码。如果该二进制XML格式需要固定长度的代码,则使用对有限状态自动机121的转换所分配的固定长度的代码。
此外,设备1包括用于传送数据的传送模块13。根据该实施例,所述传送模块13被配置为用于对处理模块12所编码的二进制XML格式的XML数据进行传送。
此外,设备1包括用于接收数据的接收模块14。根据该实施例,所述接收模块14被配置为用于接收由传送二进制XML格式的XML数据的其它设备的其它处理模块所编码的二进制XML格式的XML数据。这里,所述其它处理模块与处理模块12类似地对XML数据进行处理。
此外,设备1还包括自动机生成模块11,其被配置为生成如以上所概述并且将在以下特别是参见图6更为详细描述的有限状态自动机121。
图2示出了根据本发明实施例所配置的两个设备1_1、1_2之间的XML数据的通信或交换。特别地,设备1_1和1_2的配置对应于图1中设备1的配置。
第一设备1_1包括具有有限状态自动机121_1的处理模块12_1、传送模块13_1和接收模块14_1。第二设备1_2包括具有有限状态自动机121_2的处理模块12_2、传送模块13_2和接收模块14_2。
第一设备1_1的传送模块13_1接收由第一设备1_1的处理模块12_1从文本XML数据所编码的二进制XML格式的XML数据,并且将该二进制XML格式的XML数据20_1传送到第二设备1_2。第二设备1_2的接收器14_2接收该数据20_1并且将数据20_1送至处理模块12_2以便进行解码。
类似地,第二设备1_2的传送模块13_2能够得到二进制XML格式的XML数据,所述数据由第二设备的处理模块12_2进行编码,并且能够将该数据20_2传送至第一设备1_1。接收模块14_1将接收二进制XML格式的XML数据20_2并且将该数据20_2送至处理模块12_1以便进行解码。
接下来,将提供已知二进制XML格式的两个有限状态自动机的示例,其能够通过依照本发明的原理所配置的仅一个有限状态自动机支持和实施。
为了更好的理解,将示例性地使用以W3C XML范式所表达的XML范式的以下简单结构:
1<complexType name=″ct″>
2<sequence>
3<element name=″e1″type=″int″minOccurs=″0″/>
4<element name=″e2″type=″int″minOccurs=″0″/>
5<element name=″e3″type=″int″minOccurs=″0″/>
6</sequence>
7</complexType name=″ct″>
这里,定义了类型“ct”的对象,其中这些对象中的每一个均包括元素“e1”、“e2”和“e3”的序列,其中元素“e1”、“e2”和“e3”中的每一个都为“int”类型,并且其中元素“e1”、“e2”和“e3”的提供为可选。
图3示出了对以上XML范式所配置并且根据也在ISO/IEC23001-1规范中描述的BiM范式所建立的有限状态自动机,其使用固定长度的代码。这里,自动机的状态通过节点表示,并且自动机的转换通过箭头表示。特别地,在图3中,状态30表示自动机的开始,所述自动机表示综合类型“ct”。在该状态30之后,预计出现以上所描述的元素“e1”、“e2”和“e3”的序列。在文本XML数据中存在“e1”的情况下,转换到简单状态31的代码转换由固定长度的代码“1”来告知。接下来转换到类型状态32的元素转换由元素“e1”的数值来告知。然后转换到简单状态33的转换自动进行而无需任何告知。如果文本XML数据中所提供的序列不包括元素“e1”,则使用从开始状态30到简单状态33进行的代码转换所表示的代码“0”。
接着,状态34表示或指示文本XML数据中元素“e2”的存在。状态34通过从状态33到状态34所进行并且表示固定长度的代码“1”的转换而达到。接下来转换到状态35的转换由元素“e2”的数值来告知。接着转换到中间状态36的转换再次自动执行而无需任何告知。如果文本XML数据中所提供的序列不包括元素“e2”,则使用从状态33到状态36进行的转换所表示的代码“0”。
状态37表示或指示文本XML数据中元素“e3”的存在。该状态37通过从状态36到状态37所进行并且表示固定长度的代码“1”的转换而达到。接下来转换到状态38的转换由元素“e3”的数值来告知。接着转换到结束状态39的转换再次自动执行而无需任何告知。如果文本XML数据中所提供的序列不包括元素“e3”,则使用从状态36到状态39进行的转换所表示的代码“0”。
接下来,将参考图3、图4和图5示例性地考虑以下文本XML数据。
<ct>
<e1>10</e1>
<e3>30</e3>
</ct>
这里,通过使用图3的有限状态自动机进行编码,提供表示二进制XML的以下经编码的序列:
1encoded-value-of-int(10)01encoded-value-of-int(30)
这里,函数“encoded-value-of-int”为作为参数提供给所述函数的整数值提供了经编码的二进制表示形式。因此,encoded-value-of-int(10)返回整数10的经编码的二进制表示形式,而encoded-value-of-int(30)返回整数30的经编码的二进制表示形式。
以相似的方式对经编码的序列执行解码。首先,以有限状态自动机中的状态30开始,在编码序列中读取数值“1”。数值“1”指示对元素“e1”进行解码。因此,以状态31前进。接着,从经编码的序列中取出元素“e1”并进行解码。因此,有限状态自动机以状态32前进。执行到简单状态33的自动转换。此外,从经编码的序列中读取数值“0”,其指示没有执行元素“e2”的编码,在有限状态自动机中以简单状态36前进。接着,在二进制串中读取数值1,其指示元素“e3”已经被编码。因此,达到有限状态自动机中的状态37。此外,从该二进制串中取出元素“e3”的数值并进行解码。因此,在有限状态自动机中达到状态38并且执行到状态39的自动转换。
图4示出了对以上XML范式所配置并且根据EXI范式建立的有限状态自动机,该有限状态自动机使用固定长度的代码。这里,该有限自动机的状态40至47也通过节点进行表示,并且该有限自动机的转换也通过箭头进行表示,如以上所提供的,其中元素转换表示在XML范式中所声明的文本XML数据的元素。这里,固定长度的代码被根据EXI范式分配给涉及XML范式的元素的转换。
与基于BiM范式构建的自动机有所不同,EXI自动机使得能够通过直接转换来定址该序列中的第一元素。例如,如果“e3”为文本XML文档序列中的第一个元素且为仅有的元素,则通过告知“10”来执行从状态40到状态45的单次代码转换。在图3所概述的BiM自动机中,这需要执行从状态30到状态33、到状态36以及到状态37的三次代码转换。结果,尤其是EXI自动机的编码性能更高。
然而,图4中有限状态自动机的状态40至47和转换的解释或读取,以及通过图4中的有限状态自动机所进行的编码和解码都与以上所提供的图3中有限状态自动机的状态和转换的解释或读取类似,并且与通过图3中的有限状态自动机所进行的编码和解码类似。
当考虑以上所提供的文本XML数据或文档的该示例时,根据图4的EXI自动机所进行的文本XML数据的编码提供以下二进制串:
00 encoded-value-of-int(10)01 encoded-value-of-int(30)
这里,显而易见的是,如果应用支持用于二进制XML的BiM和EXI,则需要提供两种自动机数据结构。特别地,这意味着需要在系统存储器中出现18个状态(BiM所提供的10个状态加上EXI所提供的8个状态)和25个转换(BiM所提供的12个转换加上EXI所提供的13个转换)。然而,例如嵌入式系统的资源有限的环境中的应用无法分配所需的存储器。结果,它们不适于或者无法支持和开发BiM和EXI两种二进制格式。
本发明通过使用“一般性”自动机而根据本实施例解决了该问题,所述“一般性”自动机与BiM和EXI两种二进制XML格式相兼容。根据本实施例的这种一般性自动机的构建根据以下观察来执行。如果将图3和图4中所提供的BiM和EXI的代码转换进行比较,EXI总是从开始状态和类型状态直接连接到元素转换和结束状态之前的简单状态。例如,EXI自动机的“开始”状态40通过“10”代码转换直接连接到“e3”自动机部分的“简单”状态45。然而,在BiM自动机中,“开始”状态30间接连接到“e3”自动机部分的“简单”状态37。这意味着,必须要经过两次“0”代码转换与状态33和36,以及一次“1”代码转换。在编码处理的背景下,EXI将比特模式或代码“10”写入其比特流以告知“e3”元素被编码,BiM将比特模式或代码“001”写入其比特流以告知“e3”元素被编码。
根据本发明的该实施例,基于EXI自动机的状态和转换结构来构造具有直接代码转换的一般性自动机。在BiM的情况下对该一般性自动机的转换所分配的代码是分配给代码转换的固定长度的代码的连接,这使得:
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的元素或属性转换之前的简单状态,所述简单状态是所述开始状态之后的状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的元素或属性转换之前的进一步或后续的简单状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的结束状态,如果没有在所述类型状态和所述结束状态之间提供进一步的类型状态的话;或者
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的结束状态,如果没有在所述开始状态和所述结束状态之间提供进一步的类型状态的话;
在BiM的情况下,固定长度代码的所述连接产生一般性自动机中特定状态的代码转换的长度可变的代码,而在EXI的情况下,分配给该一般性自动机的转换的代码为固定长度。
图5示出了根据本发明实施例的具有状态50至57的一般性有限状态自动机,其中到所述一般性有限状态自动机中的元素转换或结束状态之前的简单状态的每次代码转换都包括两种二进制代码。第一种代码表示由EXI所提供的固定长度的二进制代码或模式,而第二种二进制代码则表示在所述连接之后由BiM所提供的长度可变的二进制代码或模式。
接下来,出于简要的目的,根据本发明以及根据本发明的实施例所创建和使用的有限状态自动机将被称作“一般性有限状态自动机”或“一般性自动机”。
例如,在“e3”自动机部分中进行从“开始”状态到“简单”状态55的代码转换,其提供了EXI的位模式或代码(斜线符号之前)和BiM比特模式(斜线符号之后)。当例如使用该实施例中示例性提供的该自动机而进行BiM编码处理时,仅将BiM比特模式或代码写入经编码的比特流中。本发明的该实施例的一般性自动机所确定的经编码的比特模式与使用如图3所提供的原始BiM自动机所编码的比特模式相同。
该实施例的一般性自动机中状态50至57的数目为8,并且该实施例的一般性自动机的转换数目为13。与两种二进制格式单独的自动机实现方式相比,通过使用本发明所实现的节约因子对于状态为56%并且对于转换为48%。以下表格对这方面进行了概括:
因此,根据本发明所使用并且根据该实施例与BiM和EXI相兼容的一般性自动机能够描述如下:
-移除不处于元素转换之前的BiM简单状态,从而两个自动机(图3的BiM自动机和图4的EXI自动机)共享相同的自动机转换;
-针对BiM和EXI对代码转换进行不同标记;
-关于特定状态的代码转换用长度可变的代码标记针对BiM的代码转换;
-关于特定状态的代码转换用固定长度的代码标记EXI的代码转换。
本发明提供了以下优势,与单独的BiM自动机和EXI自动机相比,根据本发明所使用的一般性自动机使用了明显更少数量的状态和转换。因此,根据本发明该实施例所得到的一般性自动机能够在资源有限的嵌入式系统中实现并且能够提供BiM和EXI两种二进制格式。
图6示出了对根据本发明实施例的用于生成有限状态自动机的方法的步骤进行解释的框图。
首先在步骤61中提供、取得并分析XML范式。接着,在步骤62中考虑并分析所述XML范式的至少一个或者甚至每个综合类型的配置。
特别地,在步骤62的范围内,在步骤623生成根据二进制XML格式EXI的第一有限状态自动机,并且在步骤621生成根据二进制XML格式BiM的第二有限状态自动机,其中在步骤623和621中使用所述综合类型定义,或者更为一般性地,使用所述XML范式。
如果已经生成了根据BiM的第二有限状态自动机,则在步骤622中确定从所述第二有限状态自动机的开始状态到所述第二有限状态自动机中的元素转换之前的每个简单状态、从所述第二有限状态自动机的每个类型状态到所述第二有限状态自动机中的元素转换之前的每个简单状态、从所述第二有限状态自动机中的每个类型状态到所述第二有限状态自动机中的结束状态以及从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的结束状态的可能代码。
接着,在步骤622中,将这些代码连接为长度可变的代码,该代码被分配给转换,这使得:从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的元素转换之前的简单状态,所述简单状态是所述开始状态之后的状态;从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的元素转换之前的进一步或后续的简单状态;从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的结束状态,如果没有在所述类型状态和所述结束状态之间提供进一步的类型状态的话;或者从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的结束状态,如果没有在所述开始状态和所述结束状态之间提供进一步的类型状态的话。
在步骤63中,对第一有限状态自动机进行修正。这里,根据本发明可能有两种修正方式。第一种方式通过分别将所述可能代码或者如以上所描述的那样连接的长度可变的代码的每一个作为附加二进制代码添加到所述第一有限状态自动机的相应代码来执行。这种修正方式在图5中示例性给出。第二种方式是通过以来自所述长度可变的代码的相应长度可变代码替代所述第一有限状态自动机的每个代码来执行。
最后,在步骤64中,提供第一有限状态自动机作为根据本发明的一般性有限状态自动机。
这里要注意的是,对XML范式中包括的每个综合类型执行步骤62至64。
因此,对所述XML范式中包括的每个综合类型都提供一般性有限状态自动机。
以这种方式,本发明能够向任意XML范式自动提供一般性自动机。
因此,本发明涉及通过使用有限状态自动机处理XML数据,其中所述XML数据基于预先确定的XML范式,并且其中所述有限状态自动机包括状态和转换,所述状态和转换基于所述预先确定的XML范式而设置。此外,配置或生成所述有限状态自动机以使得所述有限状态自动机涉及所述XML范式的元素或属性的每个代码转换包括长度可变的二进制代码,所述长度可变的二进制代码被配置为对所述XML范式的所述元素或属性进行编码。本发明提供了对若干技术领域的若干系统或设备中的XML数据的改进处理,其中所述系统或设备的操作所需的数据或者所述系统或设备所处理的数据基于XML。此外,本发明使得可以节约所述系统和设备中的存储器资源和处理资源或者成本。
如以上所提到的,由于所要编码的XML元素和属性被直接定址,所以EXI自动机对于编码器而言尤其能够有效实施。能够通过生成一般性自动机的结构并且仅将BiM编解码器的长度可变的代码分配给转换来有效实施BiM编解码器。这尤其会产生BiM编码器的运行时间有效的实施方式。
另一方面,这导致了本发明的另一方面。能够通过除了长度可变的BiM代码之外还将固定长度的EXI代码也分配给代码转换来有效实施能够对BiM和/或EXI进行编码的一般性编解码器。根据该编解码器所工作的BiM和/或EXI模式,在通过该编解码器转换时由该编解码器选择适当的代码。
虽然以上已经示出并描述了本发明的实施例和应用,但是对于本领域技术人员显而易见的是,可能在不背离这里所描述的发明概念的情况下进行许多(与以上所描述的内容有所不同的)修改。因此,本发明仅以所附权利要求的精神为限。因此,以上详细描述应当被认为是说明性而不是限制性的。
Claims (15)
1.一种处理装置(12,12_1,12_2),所述处理装置(12,12_1,12_2)被配置为通过使用有限状态自动机(121,121_1,121_2)对可扩展标记语言XML数据进行处理,其中:
-所述XML数据基于预先确定的XML范式;
-所述有限状态自动机(121,121_1,121_2)包括状态(50-57)和转换,所述状态(50-57)和转换基于所述预先确定的XML范式被设置;并且
-所述转换中涉及所述XML范式的元素或属性的至少一个转换包括长度可变的二进制代码,所述长度可变的二进制代码被设置为对所述XML范式的所述元素或属性进行编码。
2.如权利要求1所述的处理装置(12,12_1,12_2),其中所述至少一个转换包括除了所述长度可变的二进制代码以外的固定长度的二进制代码,所述固定长度的二进制代码被设置为对所述XML范式的所述元素或属性进行编码。
3.如权利要求2所述的处理装置(12,12_1,12_2),其中,如果所述XML数据为文本XML数据,则所述处理装置(12,12_1,12_2)被配置为将所述文本XML数据编码为二进制XML格式的XML数据(20_1,20_2),其中所述有限状态自动机(121,121_1,121_2)的所述状态(50-57)和转换被配置为通过使用所述固定长度的二进制代码或者使用向所述转换中至少一个所述转换分配的所述长度可变的二进制代码将所述文本XML数据编码为所述二进制XML格式的所述XML数据(20_1,20_2)。
4.如权利要求2所述的处理装置(12,12_1,12_2),其中,如果所述XML数据为二进制XML格式的XML数据,则所述处理装置(12,12_1,12_2)被配置为将所述二进制XML格式的所述XML数据(20_1,20_2)解码为文本XML数据,其中所述有限状态自动机(121,121_1,121_2)的所述状态(50-57)和转换被配置为通过使用所述固定长度的二进制代码或者使用向每个所述转换分配的所述长度可变的二进制代码将所述二进制XML格式的所述XML数据(20_1,20_2)解码为所述文本XML数据。
5.如权利要求2所述的处理装置(12,12_1,12_2),其中所述固定长度的二进制代码表示根据二进制XML格式W3C EXI的代码,其中EXI表示“高效XML互换”。
6.如权利要求1至5中任一项所述的处理装置(12,12_1,12_2),其中所述长度可变的二进制代码表示根据二进制XML格式BiM的代码,其中BiM表示“XML的二进制MPEG格式”。
7.如权利要求1所述的处理装置(12,12_1,12_2),其中所述至少一个转换包括除了所述长度可变的二进制代码以外的固定长度的二进制代码,所述固定长度的二进制代码被设置为对所述XML范式的所述元素或属性进行编码,所述固定长度的二进制代码表示根据二进制XML格式W3C EXI的代码,其中EXI表示“高效XML互换”,所述长度可变的二进制代码表示根据二进制XML格式BiM的代码,其中BiM表示“XML的二进制MPEG格式”,所述有限状态自动机通过以下步骤生成:
-通过使用所述XML范式根据所述二进制XML格式W3CEXI生成(623)第一有限状态自动机;
-通过使用所述XML范式根据所述二进制XML格式BiM生成(621)第二有限状态自动机;
-识别两个自动机中相同元素和属性的元素和属性转换;
-连接所述第二有限状态自动机中分配给代码转换或所述第二有限状态自动机的固定长度的代码,这导致:
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的元素或属性转换之前的第一简单状态,所述第一简单状态是所述开始状态之后的状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的元素或属性转换之前的、相对于所述第一简单状态的进一步或后续的第二简单状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的结束状态,如果没有在所述类型状态和所述结束状态之间提供进一步的类型状态的话;或者
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的结束状态,如果没有在所述开始状态和
所述结束状态之间提供进一步的类型状态的话;
以使得连接所述固定长度的代码而产生长度可变的代码;
-通过以下步骤之一修正(63)所述第一有限状态自动机:将每个所述长度可变的代码作为附加的二进制代码添加到所述第一有限状态自动机的相应代码,或者以来自所述长度可变的代码的相应的长度可变的代码替代所述第一有限状态自动机的每个代码;并且
-提供(64)所述第一有限状态自动机作为所述有限状态自动机。
8.一种设备(1,1_1,1_2),包括如权利要求1所述的处理装置(12,12_1,12_2)。
9.如权利要求8所述的设备(1,1_1,1_2),所述设备(1,1_1,1_2)包括传送装置(13,13_1,13_2),所述传送装置(13,13_1,13_2)被配置为对所述处理装置(12,12_1,12_2)所处理的XML数据(20_1,20_2)进行传送。
10.如权利要求9所述的设备(1,1_1,1_2),其中由所述处理装置(12,12_1,12_2)所处理的所述XML数据(20_1,20_2)是二进制XML格式的XML数据。
11.如权利要求8至10中任一项所述的设备(1,1_1,1_2),所述设备(1,1_1,1_2)包括接收装置(14,14_1,14_2),所述处理装置(12,12_1,12_2)被配置为对所述接收装置(14,14_1,14_2)所接收的XML数据(20_1,20_2)进行处理。
12.如权利要求11所述的设备(1,1_1,1_2),其中由所述接收装置(14,14_1,14_2)所接收的所述XML数据(20_1,20_2)是二进制XML格式的XML数据。
13.如权利要求8至10中任一项所述的设备(1,1_1,1_2),其中所述设备包括自动机生成装置(11),所述自动机生成装置(11)被配置为通过以下步骤生成所述有限状态自动机:
-通过使用所述XML范式根据二进制XML格式EXI生成(623)第一有限状态自动机,其中EXI表示“高效XML互换”;
-通过使用所述XML范式根据二进制XML格式BiM生成(621)第二有限状态自动机,其中BiM表示“XML的二进制MPEG格式”;
-识别两个自动机中相同元素和属性的元素和属性转换;
-连接(622)所述第二有限状态自动机中分配给代码转换或所述第二有限状态自动机的固定长度的代码,这导致:
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的元素或属性转换之前的第一简单状态,所述第一简单状态是所述开始状态之后的状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的元素或属性转换之前的、相对于所述第一简单状态的进一步或后续的第二简单状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的结束状态,如果没有在所述类型状态和所述结束状态之间提供进一步的类型状态的话;或者
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的结束状态,如果没有在所述开始状态和所述结束状态之间提供进一步的类型状态的话;
以使得连接所述固定长度的代码而产生长度可变的代码;
-通过以下步骤之一修正(63)所述第一有限状态自动机:将每个所述长度可变的代码作为附加的二进制代码添加到所述第一有限状态自动机的相应代码,或者以来自所述长度可变的代码的相应的长度可变的代码替代所述第一有限状态自动机的每个代码;并且
-提供(64)所述第一有限状态自动机作为所述有限状态自动机。
14.一种用于生成有限状态自动机的方法,所述有限状态自动机被配置为处理可扩展标记语言XML数据,其中所述XML数据基于预先确定的XML范式,并且其中所述有限状态自动机包括基于所述预先确定的XML范式而设置的状态和转换,所述方法包括步骤:
-通过使用所述XML范式根据二进制XML格式EXI生成(623)第一有限状态自动机,其中EXI表示“高效XML互换”;
-通过使用所述XML范式根据二进制XML格式BiM生成(621)第二有限状态自动机,其中BiM表示“XML的二进制MPEG格式”;
-识别两个自动机中相同元素和属性的元素和属性转换;
-连接(622)所述第二有限状态自动机中分配给代码转换或所述第二有限状态自动机的固定长度的代码,这导致:
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的元素或属性转换之前的第一简单状态,所述第一简单状态是所述开始状态之后的状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的元素或属性转换之前的、相对于所述第一简单状态的进一步或后续的第二简单状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的结束状态,如果没有在所述类型状态和所述结束状态之间提供进一步的类型状态的话;或者
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的结束状态,如果没有在所述开始状态和所述结束状态之间提供进一步的类型状态的话;
以使得连接所述固定长度的代码而产生长度可变的代码;
-通过以下步骤之一修正(63)所述第一有限状态自动机:将每个所述长度可变的代码作为附加的二进制代码添加到所述第一有限状态自动机的相应代码,或者以来自所述长度可变的代码的相应的长度可变的代码替代所述第一有限状态自动机的每个代码;并且
-提供(64)所述第一有限状态自动机作为所述有限状态自动机。
15.一种自动机生成装置(11),其被配置为通过以下步骤生成所述有限状态自动机:
-通过使用XML范式根据二进制XML格式EXI生成(623)第一有限状态自动机,其中XML表示“可扩展标记语言”,EXI表示“高效XML互换”;
-通过使用所述XML范式根据二进制XML格式BiM生成(621)第二有限状态自动机,其中BiM表示“XML的二进制MPEG格式”;
-识别两个自动机中相同元素和属性的元素和属性转换;
-连接(622)所述第二有限状态自动机中分配给代码转换或所述第二有限状态自动机的固定长度的代码,这导致:
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的元素或属性转换之前的第一简单状态,所述第一简单状态是所述开始状态之后的状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的元素或属性转换之前的、相对于所述第一简单状态的进一步或后续的第二简单状态;
-从所述第二有限状态自动机中的类型状态到所述第二有限状态自动机中的结束状态,如果没有在所述类型状态和所述结束状态之间提供进一步的类型状态的话;或者
-从所述第二有限状态自动机中的开始状态到所述第二有限状态自动机中的结束状态,如果没有在所述开始状态和所述结束状态之间提供进一步的类型状态的话;
以使得连接所述固定长度的代码而产生长度可变的代码;
-通过以下步骤之一修正(63)所述第一有限状态自动机:将每个所述长度可变的代码作为附加的二进制代码添加到所述第一有限状态自动机的相应代码,或者以来自所述长度可变的代码的相应的长度可变的代码替代所述第一有限状态自动机的每个代码;并且
-提供(64)所述第一有限状态自动机作为所述有限状态自动机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09002043A EP2219117A1 (en) | 2009-02-13 | 2009-02-13 | A processing module, a device, and a method for processing of XML data |
EP09002043.9 | 2009-02-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101807205A CN101807205A (zh) | 2010-08-18 |
CN101807205B true CN101807205B (zh) | 2014-08-20 |
Family
ID=41202712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010120484.5A Expired - Fee Related CN101807205B (zh) | 2009-02-13 | 2010-02-22 | 用于处理xml数据的处理模块、设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8683320B2 (zh) |
EP (1) | EP2219117A1 (zh) |
CN (1) | CN101807205B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4236055B2 (ja) * | 2005-12-27 | 2009-03-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 構造化文書処理装置、方法、プログラム |
JP5671320B2 (ja) * | 2009-12-18 | 2015-02-18 | キヤノン株式会社 | 情報処理装置及びその制御方法並びにプログラム |
JP5166565B2 (ja) * | 2011-03-28 | 2013-03-21 | 株式会社東芝 | Exiエンコーダおよびプログラム |
EP2605481A1 (de) * | 2011-12-13 | 2013-06-19 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum Filtern von Netzwerkverkehr |
JP2014086048A (ja) * | 2012-10-26 | 2014-05-12 | Toshiba Corp | 検証装置、検査方法およびプログラム |
CN104536977B (zh) * | 2014-12-04 | 2017-12-08 | 北京工业大学 | 一种基于查询状态机的xml流数据查询方法 |
WO2016119817A1 (de) | 2015-01-26 | 2016-08-04 | Siemens Aktiengesellschaft | Verfahren zur umsetzung eines binären datenstroms |
JP6903892B2 (ja) * | 2016-10-12 | 2021-07-14 | 富士通株式会社 | 検証プログラム、検証装置、検証方法、符号化プログラム、符号化装置および符号化方法 |
US11423147B2 (en) * | 2017-05-02 | 2022-08-23 | The United States Of America As Represented By The Secretary Of The Air Force | Method for executing single-use systems |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5136290A (en) * | 1990-06-18 | 1992-08-04 | Bond James W | Message expansion decoder and decoding method for a communication channel |
FR2813743B1 (fr) * | 2000-09-06 | 2003-01-03 | Claude Seyrat | Procede de compression/decompression de documents structures |
DE50115539D1 (de) * | 2000-12-22 | 2010-08-12 | Siemens Ag | Verfahren zur verbesserung der funktionalität der binären repräsentation von mpeg-7 und anderen xml-basierten inhaltsbeschreibungen |
EP1221692A1 (en) * | 2001-01-09 | 2002-07-10 | Robert Bosch Gmbh | Method for upgrading a data stream of multimedia data |
JP2003084987A (ja) * | 2001-09-11 | 2003-03-20 | Internatl Business Mach Corp <Ibm> | Xml文書の妥当性を検証するためのオートマトンの生成方法、xml文書の妥当性検証方法、xml文書の妥当性を検証するためのオートマトンの生成システム、xml文書の妥当性検証システムおよびプログラム |
RU2005103833A (ru) * | 2002-07-15 | 2005-10-10 | Сименс Акциенгезелльшафт (DE) | Способы и устройства для кодирования/декодирования структурированных документов, в особенности xml-документов |
US7350199B2 (en) * | 2003-01-17 | 2008-03-25 | Microsoft Corporation | Converting XML code to binary format |
US7720794B2 (en) * | 2003-08-05 | 2010-05-18 | International Business Machines Corporation | Identifying resource and data instances in management systems |
US7437374B2 (en) * | 2004-02-10 | 2008-10-14 | International Business Machines Corporation | Efficient XML schema validation of XML fragments using annotated automaton encoding |
US7814024B2 (en) * | 2004-05-14 | 2010-10-12 | Ching Peter N | Multi-way transactions related data exchange apparatus and methods |
GB0507036D0 (en) * | 2005-04-07 | 2005-05-11 | Ibm | Method and system for language identification |
US7665015B2 (en) * | 2005-11-14 | 2010-02-16 | Sun Microsystems, Inc. | Hardware unit for parsing an XML document |
US7752212B2 (en) * | 2006-06-05 | 2010-07-06 | International Business Machines Corporation | Orthogonal Integration of de-serialization into an interpretive validating XML parser |
-
2009
- 2009-02-13 EP EP09002043A patent/EP2219117A1/en not_active Withdrawn
-
2010
- 2010-02-15 US US12/705,658 patent/US8683320B2/en not_active Expired - Fee Related
- 2010-02-22 CN CN201010120484.5A patent/CN101807205B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8683320B2 (en) | 2014-03-25 |
EP2219117A1 (en) | 2010-08-18 |
US20100211867A1 (en) | 2010-08-19 |
CN101807205A (zh) | 2010-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101807205B (zh) | 用于处理xml数据的处理模块、设备和方法 | |
CN100580661C (zh) | 结构化文档、尤其xml文档的编码/译码的方法和装置 | |
CN102768636B (zh) | 一种日志解析方法及装置 | |
US9652312B2 (en) | Realtime processing of streaming data | |
US8375094B2 (en) | Creating a message readable by a plurality of heterogeneous recipients | |
US20140351829A1 (en) | System and method for processing messages in a service-oriented pipeline architecture | |
CN108337236A (zh) | 一种基于Protobuf和HTTP/1.1的gRPC调用方法及装置 | |
CN111552838B (zh) | 数据处理方法及装置、计算机设备、存储介质 | |
US9888093B2 (en) | Method and apparatus for providing a service implementation | |
CN110708307B (zh) | 转码器生成方法和装置、电子设备及存储介质 | |
US20140026029A1 (en) | Efficient xml interchange schema document encoding | |
US20030105806A1 (en) | Service facilitator for automating object conversions and communication connections in client-server systems | |
CN109861998A (zh) | 一种基于北斗短报文协议的插件式动态解析系统及方法 | |
CN102203734B (zh) | 条件处理方法和设备 | |
CN112422450B (zh) | 计算机设备、服务请求的流量控制方法及装置 | |
CN102708106B (zh) | Exi 编码器 | |
US10282400B2 (en) | Grammar generation for simple datatypes | |
FI119672B (fi) | Menetelmä ja laitejärjestely käyttäjäsovellus-laitehallintapalvelin-asiakaslaite-ympäristön hallitsemiseksi | |
CN102289358A (zh) | 用于更有效地显示数据的计算机实现的方法、计算机程序产品和嵌入式系统 | |
CN103856396B (zh) | 插件间的报文传递方法及装置、代理插件 | |
CN112769741B (zh) | 一种消息通信方法及电子设备 | |
Käbisch et al. | XML-based Web service generation for microcontroller-based sensor actor networks | |
KR100968083B1 (ko) | 구조화된 문서들, 특히 xml 문서들을인코딩/디코딩하기 위한 방법 및 장치 | |
CN102546557A (zh) | 一种协议定制方法及装置 | |
CN116915368B (zh) | 符合期货交易数据交换协议的数据流的编解码方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140820 Termination date: 20180222 |
|
CF01 | Termination of patent right due to non-payment of annual fee |