当前位置: 首页 > 专利查询>微软公司专利>正文

确认可扩展标记语言文档并实时报告模式违背情况的系统和方法技术方案

技术编号:2873894 阅读:222 留言:0更新日期:2012-04-11 18:40
一种用来确认和报告可扩展标记语言(XML)文档模式违背情况的方法,其中XML文档包含本地XML和非本地XML,所述方法包含: 定位XML文档中非本地XML元素的变化; 标记XML文档的一部分以表示与所述XML文档部分相关的变化已经发生; 标记平行树中的节点以表示变化已经发生,其中所述节点对应于XML文档中发生变化的部分; 按相应的非本地XML模式来确认平行树的节点; 决定非本地XML元素中的错误是否来自响应确认节点供给的错误数据;以及 若出现错误,则在XML文档中和平行树中显示错误通知。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
近年来各种标记语言已经广为流行。作为其中的一种,可扩展标记语言XML是一种通用的标记语言,它提供了识别、交换和处理各种数据的方法。比如,XML用于产生的各种文档,它们可用于各种应用程序。XML文件中的元素有相关联的命名空间(namespace)和模式(schema)可扩展标记语言XML中,命名空间通常被用来作为每个XML文档的唯一标识。每个XML文档通过使用命名空间使得程序能够容易地区分出与该文档相关的XML类型。这个唯一的命名空间也同样支持区分来自不同文件又恰好有着相同名字的标记元素。在XML环境中,XML模式提供了描述和验证数据有效性的途径。模式说明了什么样的元素和属性可用来描述在XML文档中的内容,元素可出现在哪里,哪些元素可出现在其他元素内。模式的使用保证了文件结构的一致性。模式可由用户产生,通常由像XML这样的标记语言提供支持。通过使用支持模式的XML编辑器,用户可以操纵XML文件,并依从用户创建的模式产生XML文档。通常,当插入XML文档的元素和标签有错时,XML编辑器在把错误克服之前将拒绝用户继续XML文档的制作。这种情况下,如果与模式不符,XML编辑器往往不允许对XML文档进行编辑,从而编辑器无法提供自由格式编辑。编辑器的另一选择是让用户产生整篇XML文档,然后再从整体上验证XML文档的有效性。那么,验证时所出现的错误需要找出并予以改正。本专利技术旨在能够进行可扩展标记语言(XML)文档有效性确认,并在用户编辑该文档时,实时的报告模式模式违背情况(schema violation)。字处理器具有相关联的可扩展标记语言(本地XML(native XML))。当用户将非本地XML模式文件与XML文档相关联的时候,字处理器就使用带有确认引擎(validationengine)的非本地XML模式来确认XML文档中的非本地XML元素。当用户将来自该模式的非本地XML元素插入XML文档中时,平行树(parallel tree)作为确认引擎的对象由字处理器来维护。该树包含与插入到XML文档中非本地XML元素相应的节点。该平行树帮助防止本地XML标记干扰XML文档中的非本地XML标记。尽管非本地XML标记与本地XML标记共存于相同的XML文档中,但该平行树还是允许独立于本地XML标记而来单独确认非本地XML标记。在一个实施例中,每次将非本地XML元素插入到XML文档中时,取决于插入非本地XML元素的上下文,在平行树中的恰当位置创建了相应的节点。相应的,每次从XML文档中删除非本地XML元素时,相应的节点也从平行树中删除了。除了追踪非本地XML元素之外,平行树还追踪着非本地XML元素的文本内容。非本地XML元素的内容存在于XML文档中,而不是平行树中,但平行树仍保持到元素的链接。如果需要,为平行树有效性确认的缘故,平行树会把内容检索出来。然后,该确认过程就可以确认该平行树节点间的结构关系,以及每个节点对其文本内容所施加的内容类型限制。平行树实时的反映了XML文档中的变化,并允许对非本地XML标记的实时确认。当在非本地XML标记或XML文档的文本内容发生变化之后出现空闲瞬间时,相应于XML文档中发生变化区域的平行树的子树由确认引擎来确认。若非本地XML或文本内容的变化有一个或多个错误,则确认引擎就将该错误通知字处理器。然后,依照用来处理此类错误的用户接口指令,字处理器在XML文档以及平行树中均亮显该错误。 附图说明图1阐明了可用于本专利技术一个范例实施例中的范例计算装置。图2是实施本专利技术范例环境的方框图。图3是依照本专利技术的XML文档和平行树的范例方框图。图4是依照本专利技术的XML文档和包含错误平行树的范例方框图。图5是依照本专利技术,确认XML文档并报告错误的范例过程逻辑流程图。图6是依照本专利技术,对XML文档中的变化进行定位和处理的范例过程逻辑流程图。图7是依照本专利技术,确认XML文档的范例过程逻辑流程图。图8是依照本专利技术,显示XML文档和平行树中错误的范例过程逻辑流程图。具体实施例方式在说明书和权利要求书中,除非上下文明确规定,下列术语均采用这里所述的明确意义。术语“标记语言”或“ML”是指文档中的特别代码的语言,它指定文档的某些部分如何由应用程序解释。在字处理器文件中,标记元素可与指定元素内容如何显示或安排的特定格式相关联。在另外实施例中,如其它XML文档,所述标记可能旨在描述数据而不涉及显示问题。术语“本地可扩展标记语言”或“本地XML”指与字处理器应用程序相关联的标记语言元素及与字处理器应用程序相关联的模式。术语“非本地可扩展标记语言”或“非本地XML”指用户或其它应用程序创建,并遵从不同于本地XML模式的模式的标记语言元素。术语“元素”是指XML文档的基本单位。元素可包含属性、其它的元素、内容和其它XML文档的块料(building blocks)。术语“标签”是指插入到XML文档中描绘文档元素的命令。每个元素通常不超过两个标签开始标签和结束标签。具有一个标签的空元素(无内容)也是允许的。标签之间的内容作为元素的“子”(或后代)。因此,嵌入到元素内容中的其它元素称为“子元素”或“子节点”或元素。直接嵌入到元素内容中的文本作为元素的“子文本节点”。子元素和和元素中的文本一起组成了该元素的“内容”。术语“属性”是指被设定为特定值并与元素相关联的附加性质。元素可具有任意数量的与其相关联的属性,包括没有属性。属性被用来将附加信息与不包含在元素内容中的元素相关联。示例性操作环境参照图1,用来实施本专利技术的一个范例系统包含计算装置,如计算装置100。基本配置包含虚线108内的那些部件。在基本配置中,计算装置100通常包含至少一个处理单元102和系统存储器104。取决于计算装置的准确配置和类型,系统存储器可为易失性的(如RAM)、非易失性的(如ROM、闪存等)或这两者的某种组合。系统存储器104通常包含操作系统105,一个或多个应用程序106,可以包含程序数据107。在一个实施例中,应用程序106包含具带有XML编辑器122的字处理器应用程序120。在这种配置中,字处理器应用程序120能在自由式编辑环境中打开和编辑XML文档。尽管在这里是以字处理器应用程序120来阐明本专利技术的,但本专利技术对其它类型的应用程序也有相同的适用性,这一点对本领域的熟练技术人员来说将是显而易见的。计算装置100可具有附加的特征和功能特性。例如,计算装置100还可包含附加数据存储装置(可移动和/或不可移动),如像磁盘、光盘或磁带。这类附加存储器在图1中由可移动存储器109和不可移动存储器110来表示。计算机存储媒体可包括易失性的和非易失性的、可移动的和不可移动的媒体,以任何方法或技术实施信息的存储,如计算机可读指令、数据结构、程序模块或其它数据。系统存储器104、可移动存储器109和不可移动移动存储器110均是计算机存储媒体的例子。计算机存储媒体包扩,但不局限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多用途关盘(DVD)或其它光存储器、盒式磁带、磁带、磁盘存储器或其它磁存储装置,以及能用来保存所需信息并能由计算装置100存取的其它任何媒体。任何这样的计算机存储媒体可以是装置100的一部分。计算装置100也可具本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:B·M·琼斯M·萨维茨基R·A·利特尔
申请(专利权)人:微软公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利