首页> 中国专利> 将样式破坏从可扩展标记语言文档中移除

将样式破坏从可扩展标记语言文档中移除

摘要

本发明涉及将样式破坏从可扩展标记语言文档中移除。使用系统输入输出通过文档的样式定义部分来将未被使用的、重复的或被破坏的样式从基于XML的文档文件中移除。该移除基于对在相应的文档文件的可压缩分组中包含的信息的分析。也可使用相同的方法来移除其他不正确的文件内容,诸如被破坏的名称范围或未被使用的值格式定义等。

著录项

  • 公开/公告号CN102360350A

    专利类型发明专利

  • 公开/公告日2012-02-22

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201110285395.0

  • 发明设计人 S·贡多罗夫;

    申请日2011-09-07

  • 分类号G06F17/30(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人罗婷婷

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 04:34:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-13

    专利权的转移 IPC(主分类):G06F17/30 变更前: 变更后: 登记生效日:20150423 申请日:20110907

    专利申请权、专利权的转移

  • 2013-08-21

    授权

    授权

  • 2012-04-04

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20110907

    实质审查的生效

  • 2012-02-22

    公开

    公开

说明书

技术领域

本发明涉及将不正确的文件内容从可扩展标记语言文档中移除的方法和 计算设备。

背景技术

可扩展标记语言(XML)是用于以机器可读的形式来编码电子文档以获得因 特网上的简单性、通用性和可用性的一组标准化规则。尽管对该文本数据格式 的设计聚焦于文档,但是例如在web服务中它被广泛使用来表示任意数据结构。 具有XML的各种版本和变型。XML类型的一个示例是由华盛顿州雷蒙德市的 微软公司开发的标准化Office Open XML(OOXML)文件格式。OOXML包括 可用来表示电子office文档的一组文件格式。该格式为文字处理文档、电子表 格和演示文稿定义了一组XML标记词汇,并为诸如数学公式、图形、参考书 目和类似内容等内容定义了具体的XML标记词汇。该标准化OOXML格式旨 在通过使得经由多个创建者的以及在多个平台上的实现成为可能来便于可扩 展性和互操作性。

通常被称为“样式表”的样式定义文档部分是将演示文稿与在用于存储及 将格式化应用于文本的文档处理程序中的内容分开的表单。各个样式可作为默 认样式而被包括在文档模板内,或者可由用户使用指示了如何来对数据的所选 部分进行格式化的各种命令来创建。样式表有助于使发布物保持一致性,使得 诸如正文、标题、脚注、页码格式、字体颜色、背景颜色等常见元素始终都看 起来是相同的。样式表也节省了时间,它允许作者在一个操作中就将格式应用 于所选的各个元素,而不是将格式一次应用于一个元素。

当在文档中使用定制样式定义时,具有破坏文件内容的潜在可能。在某些 场景中,当内容是从多个文档复制而来的时,具有定制样式可由于与文档结构 有关的各种原因而导致文件破坏。OOXML分组是包含XML文档或诸如与文 档有关的样式定义等其他资源的经压缩(或可压缩)分组。OOXML分组的内 容可由应用程序或工具来访问,而不必激活用来编辑文档本身的应用程序。

发明内容

提供本发明内容以便以简化的形式介绍将在以下的具体实施方式中进一 步描述的一些发明内容。本概述并不旨在专门标识所要求保护的主题的关键特 征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

各实施例旨在从基于XML的文档文件中移除未被使用的、重复的或被破 坏的样式。该移除可使用系统输入输出来涉及文档的定制样式部分,并且该移 除基于对在相应文档文件的可压缩分组中包含的信息的分析。也可使用相同的 方法来将诸如被破坏的名称范围或未被使用的值格式定义等其他不正确的文 件内容移除。

通过阅读以下的详细描述并参考相关的附图,这些及其它特征和优点将变 得显而易见。可以理解,前述一般描述和以下的详细描述都是说明性的,并且 不限制所要求保护的各方面。

附图说明

图1是示出了本地和远程破坏移除算法的示例的图示。

图2示出了显示有破坏移除算法的主要组件的系统图示;

图3示出了在破坏移除算法内的各个模块;

图4示出了在概念上将被破坏的样式定义从XML文档移除;

图5是可实现根据各实施例的系统的联网环境;

图6是可实现各实施例的示例性计算操作环境的框图;以及

图7示出了根据各实施例的在XML文档中移除被破坏的样式的过程的逻 辑流程图。

具体实施方式

如之前简要描述地,可使用系统输入输出组件来将未被使用的、重复的或 被破坏的样式从XML文件的样式部分中移除。对在XML分组部分内包含的信 息的分析可指导对被破坏部分的移除。也可移除其他不正确的文件内容。在以 下的详细描述中,参考了构成详细描述的一部分并作为说明示出各具体实施例 或示例的附图。可以组合这些方面,可以利用其它方面,并且可以在不背离本 发明的精神或范围的前提下做出结构上的改变。因此,以下详细描述并不旨在 限制,并且本发明的范围由所附权限要求及其等效方案来定义。

尽管在结合在个人计算机上的操作系统上运行的应用程序执行的程序模 块的一般上下文中描述了各实施方式,但是本领域的技术人员会认识到各方面 也可以结合其它程序模块实现。

一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程 序、组件、数据结构和其它类型的结构。此外,本领域的技术人员可以明白, 各实施例可以用其它计算机系统配置来实施,包括手持式设备、多处理器系统、 基于微处理器或可编程消费者电子产品、小型计算机、大型计算机以及类似计 算设备。各实施例还可以在任务由通过通信网络链接的远程处理设备来执行的 分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存 储器存储设备两者中。

各实施例可被实现为计算机实现的过程(方法)、计算系统、或者诸如计 算机程序产品或计算机可读介质等的制品。计算机程序产品可以是计算机系统 可读并且编码包括用于使计算机或计算系统执行示例过程的指令的计算机程 序的计算机存储介质。计算机可读存储介质可例如通过易失性计算机存储器、 非易失性存储器、硬盘驱动器、闪存驱动器、软盘或紧致盘以及类似存储介质 中的一个或多个来实现。

贯穿本说明书,术语“平台”可以是用于管理计算机和网络操作的软件和 硬件组件的组合。平台的示例包括但不限于,在多个服务器上执行的托管服务、 在单个服务器上执行的应用程序以及类似系统。术语“服务器”一般指通常在 联网环境中执行一个或多个软件程序的计算设备。然而,服务器还可以被实现 为被视作网络上的服务器的、在一个或多个计算设备上执行的虚拟服务器(软 件程序)。以下提供关于这些技术和示例操作的更多细节。

图1是示出了本地和远程破坏移除算法的示例的图示。在图示100中,本 地执行的算法112可访问本地存储在计算机110上的XML文档。该计算机可 以是诸如台式机、笔记本、手持式计算机、蜂窝电话、智能电话、PDA和类似 设备等任何计算设备。算法可访问定制样式定义中的破坏,并将它们移除(例 如,将定制样式定义移除)。算法也可在确定文档使用了哪些样式定义后,保 持所使用的样式定义,以避免由于样式的数量超过预定义的阈值而造成的文档 破坏。类似地,本地算法122可在膝上型计算机120等上执行。

可通过诸如通过网络下载、(例如使用便携式数据存储设备来进行的)手 动安装或类似的方法之类的各种手段来向计算设备(110、120)提供本地算法。 根据一些实施例,可执行本地算法的多个实例来处理多个文档。在每一情况中, 由于算法可在不打开文档的情况下访问各样式部分,因此激活与文档相关联的 应用程序(例如,电子表格应用程序、文字处理应用程序等)是没有必要的。

在其他实施例中,可将移除算法主存在远程服务器140处。本地计算机110 和120可通过网络130来在诸如文档共享web服务中访问在文档服务器上的文 档。所共享的文档可包括被结构化为XML文档的电子表格、文字处理文档、 演示文稿等。因此,可将文档存储在包含XML文档和诸如与文档相关联的样 式定义等其他资源的分组中。远程算法可周期性地或依据需求来扫描文档,并 在没有打开相应的文档的情况下将破坏的定制样式移除。

图2示出了显示有破坏移除算法的主要组件的系统图示。在图示200中, 文档处理器220可以是用于快速处理XML文档的过滤应用程序。这种模块可 打开多个XML文档,其包括但不限于电子表格、图表、文字处理文档、和演 示文稿等。文档处理器220可通过使用系统IO来快速打开文档。

表单样式工具230可以是设置来利用核心应用程序模块文件解析器210的 图形工具。表单样式工具230可向用户呈现允许用户通过图形来与文件解析器 210进行交互的界面。分组助手模块240可确定用户所请求的或系统所请求的 XML分组的有效性,并用字节流来打开该分组。文件解析器210可基于对在相 应文件的XML分组部分中包含的信息的分析,通过程序将未被使用的、重复 的、或被破坏的样式从XML分组的样式部分中移除,而无需激活富客户机(与 具体文档类型相关联的应用程序)。

图3示出了破坏移除算法内的各个模块。根据一些实施例,文件解析器模 块300可实现基于示例性定制样式定义的破坏移除算法。文件解析器模块300 的组件320可从文档的XML分组的样式部分中获取样式信息而无需激活富客 户机应用程序,而另一个组件330可将文件的内容从该文件的一个实例处复制 到另一个实例处。该改变也可在存储于存储器中的相同文件上执行。文件解析 器300可通过以下方式来移除未被使用的样式(310):(例如由组件320来) 扫描在XML分组中包含的所有样式部分;将在文档中定义的样式与分组中包 含的部分相匹配;以及标识未被使用的和/或重复的样式。也可移除重复的样式。

文件解析器300也可在各定制样式之间检查可纠正的样式(312)。也称为内 置样式的默认样式(与定制样式相反)较不容易遭到破坏,但是在某些情况下 它们也能受到破坏。一般不能使用客户机应用程序对象模型来移除被破坏的内 置样式,但能使用本文中描述的算法来对其进行访问和纠正。根据其他实施例, 文件解析器模块300的组件可通过将各样式重置为默认格式来将所有的样式设 置为普通(314)。然而,另一个组件可提供可任选地显示文档的可能性(316)。

文件解析器模块300也可出于反馈或配置的目的而向用户提供样式信息。 此外,如上所述,样式信息可在自动判定过程中由算法使用来判定是保持还是 丢弃所使用的定制样式。

图4示出了在概念上将被破坏的样式定义从XML文档中移除。由文件解 析器420来实现的移除算法可扫描具有多个样式定义的文档410,该多个样式 定义中的一些可能是破坏的、未被使用的或重复的。一旦标识了破坏的、未被 使用的、和/或重复的样式,文件解析器420就可尝试将其移除,从而使得文档 430具有经纠正的样式定义。如果移除不可行或者失败了,则文件解析器420 可通过执行一设置为普通的操作来将文档设置为具有客户机应用程序的默认 样式的默认格式。

各文档之间的复制和粘贴操作可增加在最终文档中的定制样式的数量,因 为对经复制的数据的格式化也会被延续至新的文档。可能具有为每个客户机应 用程序限制的预定数量的定制样式。如果定制样式的数量超出了该限制,则文 档可能被破坏并转变成不可修复的状态。达到不可修复的破坏的定制样式的预 定限制可能相对较高(例如,对于某些电子表格应用程序而言为65534)。然 而,在其中文档内数据被多个用户持续进行修改、复制、粘贴的文档共享环境 中,这种限制在相对较短的时间范围内就能达到。为了防止用户沮丧并防止用 户浪费时间和精力来重建文档,破坏移除算法可在如下背景下执行:这些文档 共享服务通过将破坏的、未被使用的或重复的样式移除来不断地减少与每个文 档相关联的样式定义的数量。

算法可使用系统输入输出(I/O)库来直接访问XML文件。系统I/O库提 供对破坏文件的直接访问。这可消除在诸如文字处理器应用程序、电子表格应 用程序、图表应用程序、浏览应用程序或演示应用程序等相关联的应用程序中 打开破坏文件以便清除样式或其他内容的需求。

根据一些实施例,XML文档破坏移除算法可以是可执行的独立命令行。 根据其他实施例,算法可被实现为具有图形用户界面的独立应用程序。根据另 外的实施例,算法也可被实现为与用于自动纠正文档的服务器侧应用程序集成 在一起的服务器侧库(例如,服务器侧特征或工具集)。

以上描述的样式破坏移除算法的系统和实现是为了例示的目的,并且不构 成对各实施例的限制。可使用在此描述的原理用其他模块、过程和配置来将破 坏的、未被使用的、或重复的样式从诸如XML文档等结构化文档中移除。

图5是可实现各实施例的示例性联网环境。基于定制样式的破坏移除算法 可经由在一个或多个服务器544或诸如托管服务的单个服务器(例如web服务 器)546上执行的软件来实现。该平台可以通过网络540来与诸如智能电话543、 膝上型计算机542、或台式计算机541(“客户机设备”)等各个计算设备上 的瘦客户机应用程序进行通信。

如上所述,文档服务器可执行在服务器侧上的算法,以处理由该服务器存 储的文档。用户可在终端设备(客户机设备541-543中的任一个、或者智能电 话、计算机、智能汽车控制台等)中运行破坏移除算法。算法可自动地或依据 需求来将未被使用的或破坏的样式从XML文档中移除。

如之前所描述地,客户机设备541-543可允许对在远程服务器(例如,服 务器544中的一个)上执行的应用程序进行访问。服务器可直接地或通过数据 库服务器548来从数据存储549中检索相关的数据,或将相关的数据存储到数 据存储549中。

网络540可包括服务器、客户机、因特网服务供应商以及通信介质的任何 拓扑结构。根据各实施例的系统可以具有静态或动态拓扑结构。网络540可包 括诸如企业网络等安全网络、诸如无线开放网络等非安全网络、或因特网。网 络540还可通过诸如公共交换电话网络(PSTN)或蜂窝网络等其他网络来协调 通信。此外,网络540可包括诸如蓝牙或类似网络等短程无线网络。网络540 提供此处描述的节点之间的通信。作为示例而非限制,网络540可以包括例诸 如声学、RF、红外线和其它无线介质等的无线介质。

可以采用计算设备、应用程序、数据源和数据分发系统的许多其它配置来 实现来自XML文档的破坏移除算法。此外,图5中描述的联网环境仅用于说 明的目的。各实施例不限于示例应用程序、模块或过程。

图6及相关描述旨在提供对其中可实现各实施例的合适计算环境的简要概 括描述。参考图6,示出了根据各实施的例如计算设备600的用于应用程序的 示例性计算操作环境的框图。在基本配置中,计算设备600可以是执行具有破 坏样式移除的文档清理工具的客户机设备,并包括至少一个处理单元602和系 统存储器604。计算设备600还可以包括协作执行程序的多个处理单元。取决 于计算设备的确切配置和类型,系统存储器604可以是易失性(诸如RAM)、 非易失性(诸如ROM、闪存等)或是两者的某种组合。系统存储器604通常 包括适于控制平台的操作的操作系统605,例如来自华盛顿州雷德蒙市的微软 公司的操作系统。系统存储器604还可包括一个或多个软件应用 程序,诸如程序模块606、样式工具622和文件解析器模块624。

样式工具622可以是在客户机、服务器和其他设备上的用于将XML文件 中的基于定制样式的破坏移除的服务的一部分。文件解析模块624可将破坏的、 未被使用的、或重复的样式从XML文档中移除。该基本配置在图6中由虚线 608内的那些组件示出。

计算设备600可以具有附加特征或功能。例如,计算设备600还以可包括 附加数据存储设备(可移动和/或不可移动的),例如磁盘、光盘或磁带。在图 6中通过可移动存储609和不可移动存储610示出这样的附加存储。计算机可 读介质可以包括以用于存储例如计算机可读指令、数据结构、程序模块或其它 数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介 质。系统存储器604、可移动存储609和不可移动存储610都是计算机可读存 储介质的示例。计算机可读存储介质包括但不限于,RAM、ROM、EEPROM、 闪存或其它存储器技术,CD-ROM、数字多功能盘(DVD)或其它光学存储, 磁带盒、磁带、磁盘存储或其它磁存储设备,或能用于存储所需信息且能够由 计算设备600访问的任何其它介质。任何这样的计算机可读存储介质都可以是 计算设备600的一部分。计算设备600还可以具有输入设备612,诸如键盘、 鼠标、笔、语音输入设备、触摸输入设备和类似输入设备。还可以包括输出设 备614,诸如显示器、扬声器、打印机和其它类型的输出设备。这些设备在本 领域中公知并且无需在此处详细讨论。

计算设备600还可以包含允许该设备与其他设备618通信的通信连接616, 诸如通过分布式计算环境中的无线网络、卫星链接、蜂窝链接和类似机制。它 他设备618可以包括执行通信应用程序的计算机设备、其它目录或策略服务器 和类似设备。通信连接616是通信介质的一个示例。通信介质可以包括计算机 可读指令、数据结构、程序模块、或者诸如载波或其它传输机制等的已调制数 据信号中的其它数据,并且包括任何信息传递介质。术语“已调制数据信号” 是指其一个或多个特征以这样的方式设置或改变以便在信号中对信息进行编 码的信号。作为示例而非限制,通信介质包括如有线网络或直接线连接之类的 有线介质,以及如声学、RF、红外及其他无线介质之类的无线介质。

各示例实施例还包括各种方法。这些方法可以用任何数量的方式,包括本 文中所描述的结构来实现。一种此类方式是通过本文中描述的类型的设备的机 器操作。

另一可任选方式是结合一个或多个人类操作者执行该方法的各个操作中 的某一些来执行该方法的一个或多个独立操作。这些人类操作者无需彼此同在 一处,而是其每一个可以仅与执行程序的一部分的机器同在一处。

图7示出了在根据各实施例的在XML文档中移除被破坏的样式的过程700 的逻辑流程图。过程700可由客户机侧算法或由作为文档存储服务器的一部分 的服务器侧算法来实现。

过程700起始于操作710,其验证分组是XML分组,将文件标识为XML 分组,并确定该XML分组是否有效。XML分组的有效性可确定算法是否能够 纠正文档中的任何样式破坏。该算法可通过检查文件是否具有由分组XML文 档的标准所定义的所有部分,来确定该XML文件的有效性。在操作720,算法 可从分组的样式部分处读取样式信息,而无需在富客户机应用程序中打开相应 的文档。在操作730可使用所收集的样式信息来将样式与文档部分匹配,在操 作740确定未被使用的、被破坏的和重复的样式。

算法的另一个判定点可以是样式的数量。如之前提到的,具有对可在文档 中使用的定制样式的数量的限制。如果超出了那个限制,则整个文档可被破坏 并且不可恢复。因此,在操作750处,算法可通过将未被使用的和/或重复的样 式以及破坏的样式移除来纠正破坏。或者,算法可将文档恢复成默认样式。算 法也可标识并移除如被破坏的命名范围之类的其他被破坏的内容,并将其移 除。对于其他内容,方法与用于样式的方法类似:可读入部分定义;可确定该 部分是否被破坏;如果该部分未被破坏,可标识需要被移除的内容(例如,测 试以查找重复,测试以查看在文档中是否使用了部分内容,以及标记为被使用 和/或未被使用)。然后,可允许用户在清理路径上决定:例如保持还是移除 标记为未被使用的定义。

包括在过程700内的各操作是用于说明目的。根据各实施例的破坏移除过 程可以使用此处所述的各原理通过具有更少或更多步骤的相似过程、以及不同 的操作次序来实现。

以上说明书、示例和数据提供了对各实施例组成的制造和使用的全面描 述。尽管用结构特征和/或方法动作专用的语言描述了本主题,但是可以理解, 所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体 特征和动作是作为实现权利要求和各实施例的示例形式而公开的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号