【技术实现步骤摘要】
此专利技术涉及处理XML和基于XML的标记语言的方法和系统。
技术介绍
通常,XML和基于XML的标记语言是可扩展的。在一些系统中,可扩展性机制是基于可由处理标记的任一个任意代理实现的已知名字空间和未知名字空间的概念。未知名字空间可包含特定代理可能理解也可能不理解的任意扩展。当多个代理被链接在一起以构成管道,在管道中使标记流顺序地通过每一个代理,且代理在某种程度上修改标记时,所引入的可扩展性机制产生一个称为“标记保存”的难题——即,保存任何特定代理可能不理解的标记。在一些系统中,已知和未知的名字空间的集合在管道中的个体代理之间可能有所不同。在这样一个系统中,任何先于另一个代理而到来的代理保存来自任何未知名字空间的标记就变得很重要,因为理解该名字空间的后续代理可能想要处理来自该名字空间的内容。针对基于XML的标记语言的常规处理代理常常选择实现文档对象模型(DOM)树。DOM树是弱类型化的结构,它对于标记中所找到的每一个元素标记包含一个节点。因为每一个节点都是弱类型化的,所以代理创建持有未知名字空间的标记的非指定类型的节点,在处理期间跳过这些节点,以及接下来将它们顺序地串行化回标记以传递给下一个代理,这是一个相当简单直接的过程。在强类型化环境中,处理未知名字空间就没有那么简单直接。更具体而言,在强类型化环境中,要保存与未知名字空间相关联的标记即使不是不可能,也是很困难的,因为无法向该标记指派确定的类型。例如当XML语法分析器通过将标记翻译成诸如二进制形式等中间的不同形式来进一步处理标记时,可能存在更复杂的情形。在此类情况下,使用标记的代理通常不能修改此翻译 ...
【技术保护点】
一种方法,包括:在强类型化环境中;接收可能包含已知和未知的基于XML的元素的基于XML的标记;实例化与所述已知的基于XML的元素相关联的强类型化树;实例化与所述已知和未知的基于XML的元素都相关联的弱类型化树 ;以及以保存所述未知的基于XML的元素的方式将所述强类型化树和所述弱类型化树相关。
【技术特征摘要】
US 2004-12-30 11/026,3411.一种方法,包括在强类型化环境中接收可能包含已知和未知的基于XML的元素的基于XML的标记;实例化与所述已知的基于XML的元素相关联的强类型化树;实例化与所述已知和未知的基于XML的元素都相关联的弱类型化树;以及以保存所述未知的基于XML的元素的方式将所述强类型化树和所述弱类型化树相关。2.如权利要求1所述的方法,其特征在于,所述实例化的动作是在所述基于XML的标记的反串行化期间执行的。3.如权利要求1所述的方法,其特征在于,所述相关的动作是由被配置成反串行化所述基于XML的标记的反串行化器组件执行的。4.如权利要求1所述的方法,其特征在于,还包括在接收所述基于XML的标记以后,将所述基于XML的标记转换为二进制表示。5.如权利要求4所述的方法,其特征在于,所述实例化强类型化树的动作包括对所述二进制表示进行操作以实例化所述强类型化树。6.如权利要求1所述的方法,其特征在于,所述实例化弱类型化树的动作包括对于所述基于XML的标记中的每个已知元素,在所述弱类型化树中创建一个占位符节点;以及对于所述基于XML的标记中的每个未知元素,创建保存所述未知标记的节点。7.如权利要求6所述的方法,其特征在于,所述创建保存未知元素的节点的动作包括将所述未知元素的文本串与所述节点相关联。8.如权利要求6所述的方法,其特征在于,还包括在创建所述占位符节点以后,对于每个占位符节点,将各占位符节点设为所述强类型化树中的对应节点。9.如权利要求1所述的方法,其特征在于,还包括向一组件返回所述强类型化树,以使所述组件能够对所述强类型化树进行操作以提供经修改的强类型化树。10.如权利要求9所述的方法,其特征在于,还包括将所述经修改的强类型化树串行化为基于XML的标记。11.如权利要求10所述的方法,其特征在于,还包括在串行化期间,将所述弱类型化树与所述经修改的强类型化树重新相关。12.如权利要求10所述的方法,其特征在于,还包括在串行化期间,允许应用定义哪些节点应或不应被串行化的一个或多个规则。13.一种系统,包括一个或多个计算机可读介质;一个或多个软件实现的组件,所述组件包含在所述一个或多个计算机可读介质上,并被配置成在强类型化环境中,接收可能包含已知和未知的基于XML的元素的基于XML的标记;实例化与所述已知的基于XML的元素相关联的强类型化树;实例化与已知和未知的基...
【专利技术属性】
技术研发人员:CP雅兹德泽弗司基,J杜涅茨,OH弗尔,RA瑞尔耶,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。