首页> 中国专利> 使用增强的内容控件来创建结构化文档模板的技术

使用增强的内容控件来创建结构化文档模板的技术

摘要

描述了使用增强的内容控件来创建结构化文档模板的技术。描述了使用增强的内容控件来创建结构化文档和文档模板的技术。一装置可包括从文档模板生成文档的应用。该应用可包括用于检索包括多个文档部分的文档模板的文档模板组件。该应用还可包括用于管理嵌在文档模板的文档部分中的内容控件的内容控件组件。内容控件可与数据源相关联,该数据源被安排成存储由内容控件演示的丰富格式化的内容,而不必要求以任何特定方式对数据存储进行写入。内容控件组件可在内容控件和数据存储之间同步对格式化的内容的任何改变。对其他实施例也予以描述并要求保护。

著录项

  • 公开/公告号CN102722519A

    专利类型发明专利

  • 公开/公告日2012-10-10

    原文格式PDF

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

    申请/专利号CN201210083507.9

  • 发明设计人 T·戴维斯;M·桑德兰;

    申请日2012-03-27

  • 分类号G06F17/30(20060101);

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

  • 代理人潘明婳

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 06:47:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-03

    授权

    授权

  • 2015-08-19

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

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

  • 2014-04-30

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

    实质审查的生效

  • 2012-10-10

    公开

    公开

说明书

技术领域

本发明涉及创建结构化文档模板。

背景技术

可使用生产力应用程序来创建具有结构化且可重用的内容的定制的文档 模板。文档模板可包括可重用文档部分的集合,每一文档部分具有特别设计的 演示格式和内容类型。定制的文档模板然后可用作创建高度结构化文档的起始 点。例如,一公司可创建具有定制的文档部分的报告模板,这些文档部分诸如 用于标题的第一字段、用于日期的第二字段、用于图像的第三字段等。公司内 的个人然后可反复使用该报告模板来生成具有统一的公司格式以及期望的内 容集合的公司报告。

定制的文档部分可用各种不同方式创建,诸如通过使用定制定义的内容控 件、标记语言、书签、字段、样式等等。尽管可用于为结构化文档模板创建定 制文档部分的开发者工具有所改进,然而,诸如企业等实体不断地努力地生产 这样的文档模板:能够生产具有越来越多的级别的丰富格式化的内容的文档。 因此,常规的开发者工具难以生产这样的文档模板:该文档模板能够生产这样 的丰富格式化的内容且还维护用于生成文档模板的底层应用程序的视图和对 象模型之间的分离。本发明的改进正是针对这些和其他考虑事项而需要的。

发明内容

下面提供了简化的发明内容,以便提供对此处所描述的一些新颖实施例的 基本理解。本概述不是广泛的概览,并且它不旨在标识关键/重要元素或描绘本 发明的范围。其唯一目的是以简化形式呈现一些概念,作为稍后呈现的更具体 实施例的序言。

各个实施例一般涉及为应用程序创建文档和文档模板的技术。一些实施例 尤其涉及使用增强的内容控件为生产力应用程序创建高度结构化的文档和文 档模板的技术。

例如,在一个实施例中,一方法可包括选择用于文档模板的文档部分的第 一内容控件,选择用于文档模板的文档部分的第二内容控件(第二内容控件嵌 套在第一内容控件内),以及相对于第一内容控件修改第二内容控件的视觉属 性以便在显示器上演示时将第二内容控件与第一内容控件区分开。对其他实施 例也予以描述并要求保护。

例如,在一个实施例中,一装置可包括逻辑设备和在逻辑设备上操作以便 从文档模板生成文档的应用。应用可包括用于检索包括多个文档部分的文档模 板的文档模板组件等。应用还可包括用于管理嵌在文档模板的文档部分中的内 容控件的内容控件组件。内容控件可与被安排成存储由内容控件演示的丰富格 式化的内容的数据源相关联。丰富格式化的内容可具有本机应用所支持的格式 化方面的所有丰富性。内容控件组件可在内容控件和数据存储之间同步对格式 化的内容的任何改变。此外,内容控件组件可控制自动重复从数据存储复制到 文档的结构(例如,表中的行、为每一数据项添加的新行等)。应用还可包括 用于使用内容控件从文档模板生成文档的文档生成器组件。对其他实施例也予 以描述并要求保护。

为了实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性 方面。这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面 及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的详细 描述,其它优点和新颖特征将变得显而易见。

附图说明

图1A示出了设计文档模板的系统的一实施例。

图1B示出了文档模板的一实施例。

图2示出图1的系统的逻辑流程的一实施例。

图3示出用于图1的系统的集中式系统的一实施例。

图4示出用于图1的系统的分布式系统的一实施例。

图5示出了用于参考图1描述的内容控件组件124的更详细的框图。

图6示出了内容控件的各个实施例。

图7示出了用于可视化的内容控件属性的用户界面视图。

图8示出了内容控件输出的用户界面视图。

图9示出了内容控件选择的用户界面视图。

图10示出了内容控件选择的用户界面视图。

图11示出了用于重复部位的内容控件属性的用户界面视图。

图12A示出了用于重复部位的内容控件的用户界面视图。

图12B示出了用于重复部位的内容控件的用户界面视图。

图13示出了当删除重复部位时的示例。

图14示出了计算架构的一实施例。

图15示出通信架构的一实施例。

具体实施方式

各个实施例涉及为应用程序创建结构化文档模板的技术。一些实施例尤其 涉及通过使用内容控件的增强集合来定义文档模板的各个文档部分来创建结 构化文档模板的技术。可为任何应用程序实现增强的内容控件,包括文字处理 应用程序、电子表格应用程序、演示应用程序和其它应用程序。

可用多种不同的方式创建文档模板的定制的文档部分。例如,现有的应用 程序可使用标记语言技术,诸如输入定制定义的可扩展标记语言(XML)模式 来生产文档,以在文字处理文档、电子表格文档、演示文档和其它生产力应用 内在内容周围提供语义标记。XML模式是一种类型的XML文档的描述,通常 按照在XML本身施加的基本句法约束之上以及超出基本句法约束的结构上的 约束以及该类型的文档的内容来表达。这些约束一般使用管控元素次序的语法 规则、内容必须满足的布尔谓词、管控元素和属性的内容的数据类型、以及诸 如唯一性和引用完整性约束等更专门的规则的某种组合来表达。XML模式在 文档模板内在内容周围提供语义标记。这种功能允许开发者创建解决方案,这 些解决方案利用定制的XML嵌入直接作用于其数据的结构和内容,而非要求 处理底层应用程序的演示格式的复杂性的解决方案。

这种强大的功能允许开发者创建解决方案,这些解决方案利用该定制的 XML嵌入直接作用于其数据的结构和内容,而非要求处理底层应用程序的演 示格式的复杂性的解决方案。例如,如果用户要为无XML能力的文字处理应 用程序中的证券分析笔记创建封面,那么从封面提取有用的数据(例如,公司 名、股票代码和股票评级)将需要使用应用的对象模型,该对象模型被紧密地 束缚于文档的演示格式。这必然意味着任何所得的解决方案逻辑也被束缚于文 档的演示格式,并且如果演示改变就会遭受失败。例如,如果解决方案代码期 望股票代码位于第一个表格的第2行第3列中,那么添加新的行或列会破坏该 逻辑。然而,采用现代的应用,解决方案代码现在将链接于顾客自己的数据的 结构,从而移除了解决方案逻辑被束缚于底层应用的演示格式的需求。相反, 该相同的逻辑可搜索XML节点的内容(例如,<stockSymbol(股票代码)/>) 并直接编辑它,即使其上下文演示彻底改变了。这导致用于存储底层数据的视 图和模型之间的更大分离。

然而,定制XML模式是复杂的,从而实现和维护起来是昂贵的。定制 XML模式还具有阻止用于大范围丰富格式化的文档的限制。因此,开发者寻 求对定制XML模式的替换和/或扩充,诸如使用定制定义的内容控件、书签、 字段、样式等。在现有的替换中,开发者正转向内容控件作为定制XML模式 的可行替代。内容控件尤其适用于创建文档模板,因为它们是被特别设计来便 于创建高度结构化的文档且已经具有与随文档文件一起存储的定制XML部分 的深度集成,从而提供了强有力的数据/视图分离。例如,为了确保特定类型的 内容被置于每一定义的字段中,内容控件可用于限制置于定义的字段中的信息 的类型。回到上述报告模板示例,第一内容控件可被置于用于标题的第一字段 上以确保仅可将文本输入到第一字段内,第二内容控件可被置于第二字段上以 确保仅特定格式的数字可被输入到第二字段内,第三内容控件可被置于第三字 段上以确保仅图像可被加载到第三字段内。这仅是使用内容控件的一些简单示 例,还存在更复杂的场景。

然而,常规的内容控件可能不适于开发丰富格式化的文档模板。例如,一 些文档模板可在文档模板中具有内容控件的大量嵌套。这使得设计和使用文档 模板更为困难。此外,内容控件通常不能很好地演示某些类型的信息,诸如用 某些格式化选项(例如,粗体、斜体、下划线、颜色等)或样式选项演示的文 本。这种类型的信息有时被称为“丰富文本”以与具有很少或没有格式化和/ 或样式选项的文本(这种文本有时被称为“纯文本”)区分开。此外,内容控 件本身变得越来越健壮,诸如自动将日历演示为输入选择工具的日期内容控 件。这样的复杂内容控件可在文档模板中实现越来越多数量的逻辑,增加了文 档模板的大小和复杂性。

为了解决这些和其它问题,各实施例可实现具有增强的内容控件的应用程 序。增强的内容控件可扩充或替换现有的内容控件以便于开发高度结构化和丰 富格式化的文档模板。增强的内容控件对现有的内容控件提供了显著的改进。 例如,增强的内容控件在视觉上缩放到用于现有解决方案中的嵌套级别。这提 供了更多的视觉区别级别,并防止文档显得“杂乱”。此外,增强内容控件可 演示丰富格式化的信息,诸如丰富文本,并在增强的内容控件与同增强的内容 控件相关联的数据源(例如,XML部分)之间同步对丰富文本的任何改变。 在另一示例中,表中的增强的内容控件可被设置成重复并执行对于XML数据 存储的相应的动作,诸如添加行、添加XML片断、删除行、删除XML等。 在又一示例中,顾客可直接针对XML数据存储工作来检索并设置来自文档中 的、他们所需的信息,包括重复数据(例如,删除XML、删除行)并包括任 何丰富文本格式(例如包括MICROSOFT OFFICE XML格式)的丰富内容(例 如,改变WordprocessingML、文档更新)。在又一示例中,可经由可选颜色 编码来在视觉上定义不同类型的内容控件。在又一示例中,增强的内容控件可 对使用其它开发者工具(诸如定制XML标记)的应用程序实现,以便于文档 模板的迁移。在又一示例中,增强的内容控件可用于允许表外的内容在本质上 是“重复的”(例如段落的任意集合)。在又一示例中,开发者和用户可在视 觉上标识段落级和文本级(例如,内联/块)内容控件。还存在其它优点。

现在将参考附图,全部附图中相同的参考编号用于表示相同的元件。在下 面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理 解。然而,显而易见,可以没有这些具体细节的情况下实施各新颖实施方式。 在其他情况下,以框图形式示出了各个公知的结构和设备以便于描述本发明。 本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和 替换方案。

图1A示出了系统100的框图。在一个实施例中,系统100可包括具有一 个或多个软件应用和/或组件的计算机实现的系统100。尽管图1A中示出的系 统100具有按照某种拓扑结构的有限数量的元素,但可以理解,系统100可以 视给定实现的需要而包括按照替代拓扑结构的更多或更少元素。

系统100可包括应用程序120。应用程序120可包括适用于使用增强的内 容控件生产文档模板的任何应用程序。应用程序120的示例可包括但不限于: 为特定操作系统设计的互相关的客户机应用、服务器应用和web服务的生产力 套件,诸如用于由美国华盛顿州雷蒙德的微软公司制作的MICROSOFT 的OFFICE生产力套件。客户机应用的示例可包 括但不限于:MICROSOFT WORD、MICROSOFTMICROS OFT MICROS OFTMICROSOFTMICROSOFTMICROS OFTMICROS OFT PROJECT、MICROSOFT  PUBLISHER、MICROSOFTWORKSPACE  、MICROSOFTMICROSOFT OFFICE  INTERCONNECT、MICROSOFT OFFICE PICTURE MANAGER、MICROSOFT  SHAREPOINT DESIGNER、以及MICROSOFT LYNC。服务器应用的示例可 包括但不限于:MICROSOFT SHAREPOINT SERVER、MICROSOFT LYNC  SERVER、MICROSOFT OFFICE FORMS SERVER、MICROSOFT OFFICE  SERVER、MICROSOFT OFFICE PROJECT SERVER、MICROSOFT  OFFICE  PROJECT  PORTFOLIO  SERVER、以及MICROSOFT  OFFICE SERVER。web服务的示例可包括但不限于: MICROSOFT WINDOWSMICROSOFT OFFICE WEB  APPLICATIONS、MICROSOFT OFFICE LIVE,MICROSOFT LIVE MEETING、 MICROSOFT OFFICE PRODUCT WEB SITE、MICROSOFT UPDATE  SERVER、以及MICROSOFT OFFICE 365。各实施方式不限于这些示例。

应用程序120可包括文档模板组件122。文档模板组件122可用于基于用 户输入110管理文档模板130。文档模板130可由应用程序120或特别设计来 生成文档模板的另一应用程序(未示出,例如MICROSOFT VISUAL )来生成。用户输入110可表示在文档模板130的创建期间经由用 户界面组件126选择各种内容控件和内容控件属性接收到的用户控制指示。

应用程序120可包括内容控件组件124。内容控件组件124可提供各种增 强的内容控件供文档模板组件122使用。内容控件组件124可向用户界面组件 126提供内容控件信息和消息,以生成要与用户交互的各种用户界面视图,包 括经由合适的输入设备接收各种用户输入110。

应用程序120可包括文档生成器组件125。文档生成器组件125可从文档 模板130中生成文档140。例如,应用程序120可接收将信息输入到文档模板 130的各个内容控件中的用户输入110。一旦输入了信息,文档生成器组件125 可将文档模板130与接收到的用户信息一起存储,以形成文档140。

应用程序120可包括用户界面组件126。用户界面组件126可生成各个用 户界面视图,包括用于经由输出设备(例如,显示器、扬声器)向用户演示信 息以及经由输入设备(例如,指针、触摸屏上的手势)从用户接收信息的各个 图形用户界面(GUI)元素。

图1B示出了系统100的更详细的框图。具体地,图1B示出了文档模板 130的更详细的框图。在图1B中所示的示出的实施例中,文档模板130包括 一个或多个文档部分132-a,诸如文档部分132-1、132-2。每一文档部分132-a 可表示文档模板130的离散部位或部分。

文档部分132-a中的每一个可包括一个或多个内容控件134-b。例如,文 档部分132-1示出内容控件134-1、134-2。此外,文档部分132-a可具有彼此 嵌套或嵌入的多个内容控件134-b,诸如嵌套在内容控件134-2内的内容控件 134-3,还具有混在其间的其它任意内容(例如,字段的文本描述等)。适用 于给定实现,可以理解,内容控件134-b可被嵌套到任何级别N,其中N是正 整数。各实施例不限于该上下文。

内容控件134-b提供设计具有以下特征的文档和文档模板的机制:(1) 具有如表单的受控输入的用户界面(UI)或GUI;(2)防止用户编辑文档或 文档模板的受保护部位的限制;以及(3)绑定到数据源的数据。内容控件134-b 提供为用户输入和打印两者优化的UI。当用户将内容控件134-b添加到文档模 板130的文档部分132-a时,内容控件134-b通常由边界和标题来标识。内容 控件134-b还提供演示字段136-c。演示字段136-c可用于演示不同类型的信息, 包括可向用户提供指令的临时文本。取决于实现偏好,内容控件134-b的边界 和标题可以或可以不出现在文档的打印版本中,而用户输入到演示字段136-c 的信息的确出现在打印版本中。例如,如果想要用户在文档模板130的一部位 中输入日期,开发者可向文档模板130的文档部分132-a添加“日期挑选器” 内容控件134-b。当用户点击内容控件134-b时,标准日期挑选器UI显现。开 发者还可设置内容控件134-b的属性以例如设置所显示的局部日历并指定日期 格式。当用户选择日期之后,控件的UI被隐藏,如果用户打印文档,仅显现 日期。

内容控件134-b还防止用户编辑或删除某些内容部分132-a。这在开发者 在文档模板130中具有用户能够阅读但不能编辑的信息,或者开发者想要用户 能够编辑内容控件但不能删除它们的情况下是有用的。此外,内容控件134-b 可将文档模板130或文档140的各部分绑定到数据源。开发者可将内容控件 134-b绑定到某些数据库字段、.NET框架中的受管对象、存储在文档模板130 中(或服务器上)的XML元素、或其它数据源。在文档级项目中,开发者可 在设计时或运行时将内容控件134-b添加到文档模板130。在应用级项目中, 开发者可在运行时将内容控件134-b添加到任何开放的文档模板。

内容控件134-b的示例是可扩展的,仅举几个例子,一些示例包括构件块 图库控件、复选框控件、组合框控件、日期挑选器控件、下拉列表控件、组控 件、图片控件、丰富文本控件、纯文本控件、一般内容控件。各实施例不限于 该上下文。

此处所包括的是一组表示用于执行所公开的架构的新颖方面的示例性方 法的流程图。尽管出于解释简明的目的,此处例如以流程图形式示出的一个或 多个方法被示出并且描述为一系列动作,但是可以理解,各方法不受动作的次 序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序 和/或与其他动作同时发生。例如,本领域的技术人员将明白并理解,方法可被 替换地表示为一系列相互相关联的状态或事件,诸如以状态图的形式。此外, 并非方法中所示出的所有动作都是新颖实现所必需的。

图2示出了逻辑流程200的一个实施例。逻辑流程200可表示由在此所描 述的一个或多个实施例所执行的操作中的部分或全部。

在图2中所示的示出的实施例中,逻辑流程200可在框202选择用于文档 模板的文档部分的第一内容控件。例如,应用程序120的内容控件组件124可 用于选择用于文档模板130的文档部分132-1的第一内容控件134-1。

逻辑流程200可在框204选择用于文档模板的文档部分的第二内容控件, 第二内容控件嵌套在第一内容控件内。例如,内容控件组件124可用于选择用 于文档模板130的文档部分132-1的第二内容控件134-2。第二内容控件134-2 可被嵌套在第一内容控件134-1内,使得难以区分控件134-1、134-2之一或双 方的起始/结束位置或标记。

逻辑流程200可在框206相对于第一内容控件修改第二内容控件的视觉属 性,以便在显示器上演示时将第二内容控件与第一内容控件区分开。例如,内 容控件组件124的内容控件可视化组件522(如图5中所示)可用于相对于第 一内容控件134-1修改第二内容控件134-2的视觉属性,以便在显示器上演示 时协助将第二内容控件134-2与第一内容控件134-1区分开。例如,控件134-1、 134-2之一或双方的各个方面可在颜色、大小、维度、几何形状、部分、控件、 位置、标记、标签、内容、标志、标题等方面不同。各实施例不限于该示例。

图3示出了集中式系统300的框图。集中式系统300可在单个计算实体(诸 如完全在单个计算设备320内)中实现系统100的结构和/或操作的一些或全部。

计算设备320可使用处理组件330执行系统100的处理操作或逻辑。处理 组件330可包括各种硬件元素、软件元素或两者的组合。硬件元素的示例可以 包括设备、逻辑设备、组件、处理器、微处理器、电路、电路元素(例如,晶 体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可 编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、 存储器单元、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件 元素的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程 序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函 数、方法、过程、软件接口、应用程序编程接口(API)、指令集、计算代码、 计算机代码、代码段、计算机代码段、文字、值、符号、或其任何组合。确定 一实施例是否使用硬件元件和/或软件元素来实现可视给定实现所需根据任何 数量的因素而变化,这些因素如所需计算速率、功率级、耐热性、处理周期预 算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计 或性能约束。

计算设备320可使用通信组件340来执行系统100的通信操作或逻辑。通 信组件340可以实现任何公知的通信技术和协议,如适用于与分组交换网络(例 如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换 网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使 用合适的网关和转换器)一起使用的技术。通信组件340可以包括各种类型的 标准通信元件,如一个或多个通信接口、网络接口、网络接口卡(NIC)、无 线电、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器 等。作为示例而非限定,通信介质321包括有线通信介质和无线通信介质。有 线通信介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、 交换光纤、半导体材料、双绞线、同轴电缆、光纤、所传播的信号等。无线通 信介质的示例可以包括声学、射频(RF)频谱、红外和其它无线介质321。

计算设备320可经由通信组件340使用通信信号322通过通信介质321 与其他设备310、350通信。例如,应用程序120的内容控件组件124可用于 将各个内容控件134-b插入各个文档部分132-a,内容控件134-b在设备310、 350之一上具有数据源。例如,设备310、350可包括相应的客户机、服务器设 备。

图4示出了分布式系统400的框图。分布式系统400可使系统100、300 的结构和/或操作的各部分跨多个计算实体分布。分布式系统400的示例可包括 但不限于,客户机-服务器架构、3层架构、N层架构、紧耦合或群集的架构、 对等架构、主-从架构、共享数据库架构、以及其他类型的分布式系统。各实 施例不限于该上下文。

客户机系统410和服务器系统450可使用处理组件430处理信息,处理组 件430类似于参考图3描述的处理组件330。客户机系统410和服务器系统450 可经由通信组件440使用通信信号422通过通信介质420彼此通信,通信组件 440类似于参考图3描述的通信组件340。

在一个实施例中,例如,分布式系统400可被实现为客户机-服务器系统。 客户机系统410可实现系统100。服务器系统450可实现用于文档模板130的 各个文档部分132-a的各个内容控件134-b的数据源442。例如,在一个实施 例中,数据源442可包括XML模式、文件、代码、数据或部分。

图5示出了用于参考图1描述的内容控件组件124的更详细的框图。在图 5中所示的示出的实施例中,内容控件组件124可包括内容控件可视化组件 522、内容控件映射组件524以及内容控件重复组件526。这些组件中的每一个 将在下文中更详细描述。可以理解,内容控件组件124可以视给定实现的需要 而包括被安排成控件内容控件134-b的各个特征的其它组件。各实施例不限于 该上下文。

内容控件可视化组件522

图6示出了由内容控件可视化组件522生产的各个内容控件(content  control)134-b的用户界面视图600。内容控件组件124的内容控件可视化组件 522可按照改进的方式呈现内容控件134-b以便协助开发者创建文档模板130, 以及协助用户填写从文档模板130生成的一个或多个文档。例如,当内容控件 134-b的标记被显示时,如果内容控件134-b的Title(标题)属性被置位,则 这些标记可显示Title属性,如果该属性为空白,则不显示。标记不示出如常 规呈现中所示的Tag(标签)属性的值。此外,如果内容控件134-b被置于文 档的锁定区域内,则(在没有抓取把手的情况下)示出内容控件134-b的标题。 如果内容控件被示出,则该内容控件仍可经由标题拖曳。任何相关联的错误和 所有其它醋酸盐(acetate)GUI(例如,下拉列表UI)的可视化被保留未改。 例如,如果存在错误,内容控件可视化组件522可示出红色虚线的边界,且出 错UI被置于正常位置中。

如图所示,图6示出了当指针悬停在内容控件134-b上时的用于内容控件 134-b的GUI元素602的呈现的示例。图6还示出了当使用诸如定点设备或手 势的人类输入设备(HID)使内容控件134-b处于焦点处(例如,选中)使用 于内容控件134-b的GUI元素604的呈现的示例。图6还示出了当处于设计模 式中时的用于内容控件134-b的GUI元素606的呈现的示例。图6最后示出了 具有起始/结束标记的用于内容控件134-b的GUI元素608的呈现的示例。GUI 元素608的起始/结束标记在多个内容控件134-b彼此嵌入时尤其有用,因为它 们减少或消除了对每一内容控件134-b周围的把手或边界框的需求,从而减少 了标记内演示的嵌套标记和信息的视觉“杂乱程度”。

图7示出了管理用于内容控件134-b的可视化的内容控件属性的用户界面 视图700。如图7中所示,可从下拉框控件704中选择内容控件134-b的各个 视觉属性,如表708中所列。此外,可从颜色(color)挑选器控件706选择用 于内容控件134-b的不同颜色,如表710中所列。向内容控件134-b分配不同 的颜色可有助于开发者在视觉上跟踪不同的内容控件134-b,尤其是在其中内 容控件134-b在其它内容控件134-b内嵌套了某种嵌套级别(例如,2、3、4 或更多级)的嵌套场景中。

当用户经由颜色挑选器控件706设置内容控件134-b的颜色时,且如果内 容控件134-b当前示出标签,则内容控件可视化组件522对于标签的所有有色 区域(例如,非黑/白区域)应用指定颜色。如果内容控件134-b当前被示为边 界框,则内容控件可视化组件522使用指定的颜色作为边界框的线型,并基于 该颜色计算所有其它颜色。

当用户进入内容控件134-b的设计模式时,三个可视化更新的每一个如下: (1)作为有阴影的矩形/边界框(具有可任选的标题),示出边界框/矩形外加 起始/结束标记(边界框/标题继续在失焦的情况下消失,悬停时加阴影,如GUI 元素606所指示);(2)起始/结束标记仍作为起始/结束标记;以及(3)当 不可见(没有视觉表示)时,作为起始/结束标记,如GUI元素608中所指示。 起始/结束标记可用组合键换档(例如,CTRL+SHIFT+X)来切换,但当用户 进入设计模式时通常为“开启”。

内容控件映射组件524

在各个实施例中,内容控件组件124的内容控件映射组件524可被安排成 处理其中内容控件134-b内的演示包括丰富格式化的内容的情况。例如,在一 个实施例中,丰富格式化的内容可具有给定的本机应用所支持的所有格式化丰 富性、选项、特征、功能、能力或属性。在此情况中,文本的格式化以及演示 是数据的一部分,从而期望数据包含该丰富格式化的全部表示。为此,内容控 件134-b和数据源442之间的绑定可被安排成以不知道与文档模板130分开存 储的定制XML数据的结构的格式发送丰富格式化的内容。

如参考图1A所述,应用程序120可包括用于检索包括多个文档部分132-a 的文档模板130的文档模板组件122。应用程序120还可包括用于管理嵌入在 文档模板130的文档部分132-a中的内容控件134-b的内容控件组件124。内 容控件134-b可与被安排成存储由内容控件134-b演示的格式化的内容的数据 源442相关联。内容控件组件124的内容控件映射组件524可在内容控件134-b 与数据存储442之间同步对格式化内容的任何改变。应用程序120还可包括用 于使用内容控件134-b从文档模板130生成文档140的文档生成器组件125。

文档模板组件122可检索包括多个文档部分132-a的文档模板130,如参 考图2所述。文档部分132-a可包括单独实现(例如,内容控件134-1、134-2) 或彼此嵌套(例如,内容控件134-2、134-3)的一个或多个内容控件134-b。

内容控件组件124可管理嵌入在文档模板130的文档部分132-a中的内容 控件134-b。内容控件134-b可与被安排成存储由内容控件134-b在演示字段 136-c中演示的格式化的内容的数据源442相关联。格式化内容可包括任何丰 富格式化的内容或丰富文本内容,诸如包括具有用户所选择的某些格式化选项 或样式选项的文本。例如,格式化的内容可包括已被加粗或倾斜以改变其视觉 属性的某一字体的词或短语。

无论何时文档模板130被数字显示演示,内容控件134-b可在演示字段 136-c中演示临时文本以及对用户的指令。例如,临时文本可指示用户可输入 表单的名称。用户可选择演示字段136-c,并将信息输入到演示字段136-c内 以替换临时文本。此外,用户可根据给定的一组用户偏好来对信息格式化,以 形成一组格式化的内容。当此发生时,内容控件组件124可接收控制指示形式 的用户输入110以修改格式化的内容,控制指示包括修改用于格式化的内容的 格式化选项或样式选项的指令。格式化选项或样式的示例可包括但不限于:字 体、字体样式、字体大小、字体颜色、下划线样式、下划线颜色、效果、文字 效果、文字填充、文字轮廓、轮廓样式、文字阴影、文字倒影、文字发光、文 字边缘、文字三维格式等。各实施例不限于该上下文。

另外地或另选地,内容控件134-b可演示由数据源442存储的信息。例如, 假定内容控件134-1、134-2被绑定至存储雇员的名字和地址的数据源442。内 容控件134-1可在演示字段136-1演示雇员的名字。类似地,内容控件134-2 可在演示字段136-2演示雇员的地址。

内容控件组件124的内容控件映射组件524可在内容控件134-b与数据存 储442之间同步对格式化内容的任何改变,而无论数据存储的内容是否被设计 成接受格式化的内容。值得注意的是丰富文本绑定不必需要以任何特殊方式来 写入数据存储442以适应格式化的内容。只要对内容控件134-b的演示字段 136-c或与内容控件134-b相关联的数据存储442作出了改变,就同步该改变, 以便在内容控件134-b和数据存储442两者间维护数据一致性。此外,按照保 留丰富格式化内容的全部保真度的方式执行同步。

例如,在一个实施例中,内容控件组件124的内容控件映射组件524可接 收用户输入110作为控制指示,以修改由内容控件134-b演示的格式化的内容、 在内容控件134-b的演示字段136-c中演示修改后的格式化的内容、并将修改 后的格式化的内容发送给数据存储442。数据存储442可接收修改后的格式化 的内容、处理修改后的格式化的内容以匹配用于存储格式化的内容的数据模 式、并用修改后的格式化的内容重写格式化的内容。

例如,在一个实施例中,内容控件组件124的内容控件映射组件524可检 测到存储在数据存储442中的格式化的内容已被修改。内容控件映射组件524 可将修改后的格式化的内容发送给内容控件134-b,以便在内容控件134-b的 演示字段136-c中演示。修改后的格式化的内容可在演示字段136-c中以丰富 格式化的内容的全部保真度演示。

为此,内容控件134-b和数据源442之间的绑定可被安排成以不知道与文 档模板130分开存储的定制XML数据的结构的格式发送丰富格式化的内容。 例如,内容控件映射组件524可使用与存储在数据存储中的格式化的内容的数 据模式不同的数据模式来传递修改后的格式化的内容。

在一个实施例中,数据存储442可被安排成根据XML数据模式来存储格 式化的内容。在此情况中,内容控件映射组件524可串行化格式化的内容的 XML元素以形成XML元素串,对得到的串进行转义来从XML元素串中移除 保留的XML字符,并将来自XML元素的任何其余的文本存储在数据存储中。 可参考图8更详细描述串行化操作。

图8示出了某一内容控件输出的用户界面视图800。内容控件映射组件524 可允许开发者将丰富文本内容控件和文档构建块内容控件的内容映射到XML 数据存储(例如,数据源442)。当映射活动时,相关联的定制XML节点包 含文档模板130的指定范围的串行化表示。这是通过检索该范围的基于文本的 串行化或平面XML表示、如下在表1中所示对得到的串进行转义以移除保留 的XML字符、并将得到的文本存储在对应的节点中来创建的。

表1

  <   &lt;   >   &gt;   ″   &quot;   ′   &apos;   &   &amp;

无论何时文档模板130中的文本的值改变,且用户:(1)通过在内容控 件134-b外点击来离开开内容控件134-b的上下文;(2)使焦点离开应用程序 120;以及(3)保存文档模板,内容控件映射组件524就生成串行化的表示, 并将结果推送到内容控件134-b内。相应地,无论何时节点中的串的值改变, 内容控件映射组件524对得到的串取消转义,并试图插入它作为内容控件134-b 的内容。

XML标记(例如,WordprocessingML)的最后一段等同于内容控件134-b 的结尾段(如果存在),所以如:

<w:p><w:r><w:t>One</w:t></w:r></w:p>

<w:p>...<w:pStyle val=″Heading 1″/>...<w:r><w:t>Two</w:t></w:r></w:p> 的XML将被插入到内容控件134-b内,如边界框802中的GUI元素804、806 所示。

内容控件映射组件524还可处理出错情况。例如,如果XML不是有效的 XML(例如,形式良好的),内容控件映射组件524将打断映射,文档模板 130中没有东西被更新。对文档内容的后续编辑将使链接复活,并重写节点的 内容。如果XML包含多个段,且内容控件134-b是内联(例如,非块级)的, 如使内容控件成为块级所需地,内容控件映射组件524首先试图在内容控件 134-b之前或之后插入段落标记。如果失败,则内容控件映射组件524执行与 当今粘贴到纯文本内容控件的逻辑相同的逻辑——段落转换成回车,且段落从 第一段格式化成整个控件的内容。如果包含丰富内容的定制XML节点已经被 绑定到纯文本内容控件,则XML映射不被允许并失败,伴有消息“定制XML 节点已经被映射到纯文本内容控件,因此它不能被映射到丰富文本内容控件”。 在文件打开时,如果节点以此方式绑定,内容控件映射组件524无法连接到内 部绑定内容控件,但在文件中留下映射信息。如果映射的丰富文本控件被嵌套 在打开或粘贴的另一映射的丰富文本控件内,则内容控件映射组件524无法链 接到内部绑定内容控件,但在文件中留下映射信息。当打开丰富文本数据绑定 打开的文档时,丰富文本绑定在任何纯文本绑定之前复活,使得纯文本绑定可 独立地重新链接至数据存储(以防其数据也改变了)。

丰富文本绑定的文件格式表示使用与现有的XML标记相同的元素名、值 等。然而,这些元素通常存在于应用程序120的名空间中,以便确保与应用程 序120的早期版本的兼容性。

内容控件重复组件526

图9示出了内容控件选择以支持重复内容的用户界面视图900。内容控件 124的内容控件重复组件526允许开发者处理涉及重复内容的构造。这会在无 论内容是否被映射到XML数据存储中的XML节点的情况下发生。图9示出 了具有控制重复部位内容控件的新按钮904的GUI功能区902。对按钮904的 选择采取的动作在表906中示出。

当将重复部位内容控件(Repeating Section Content Control)134-b插入到 文档模板130的文档部分132-a中时,重复部位内容控件134-b可处于一个或 多个段/行/表周围。与任何其它类型的内容控件134-b不同,重复部位内容控 件134-b在不构成整个表的多个相邻行周围有效。与其它类型的内容控件134-b 不同,重复部位内容控件134-b通常不具有占位符。例如,当被插入到空段中 时,重复部位内容控件134-b完全不围绕任何东西,尽管可任选地有指示文本 向模板作者告知添加要被重复的实际内容。

图10示出了用于重复部位内容控件134-b的内容控件选择的用户界面视 图1000。插入到文档部分132-a的重复部位内容控件134-b具有唯一的GUI, 如图10中所示。首先,如边界框1002内的圆圈1010所指示,在重复部位1008 的整个集合周围放置标签。例如,如果在重复部位中有四个项,在四个项的整 个集合周围放置一对起始/结束标记。各个项也具有标签。这些标签的可视性与 父重复部位标签匹配。例如,父可视性为“起始/结束标记”,那么这些标签也 是“起始/结束标记”。其次,如圆圈1012指示,示出了在当前重复项下插入 另一重复项的控件。该控件可被置于重复部位内容控件134-b的底边处,后沿 上(例如,从左到右的右边、从右到左的左边),并被调整大小以匹配16x16 按钮。第三,将三个附加的上下文菜单条目添加到菜单1004中的粘贴项1006 下,如圆圈1014所指示。附加上下文菜单条目的属性在表1016中示出。Insert <item>above(在上方插入<项>)条目在当前项之上插入另一重复项。Insert <item>below(在下方插入<项>)条目在当前项的下方插入另一重复项。Delete <item>(删除<项>)条目从文档模板130中删除当前项。

当填充菜单1004时,可从以下非空的第一项得到<item>(<项>):(1) 父重复项内容控件134-b中的Section Title(部位标题)属性,父重复部位内容 控件134-b的Title(标题),重复部位内容控件134-b的XML映射的节点, 或静态文本“item”。无论何时选择被包含在重复部位项内容控件134-b内时, Insert Before/Insert After(之前插入/之后插入)菜单条目被示出并应用于:(1) Insert Before——在选择的第一重复部位项之前插入;以及(2)Insert After在 选择中的最后一个重复部位项之后插入。无论何时选择被包含在单个重复部位 项时,Delete(删除)菜单条目被示出并应用于该项。

图11示出了用于重复部位的内容控件属性1102的用户界面视图1100。 如图所示,可使用复选框控件(Checkbox)1104来设置用户是否被允许添加 或移除部位,如表1108所指示。文本框控件(Textbox)1106可允许插入部位 标题,如表1110所指示。重复部位内容控件134-b的附加属性表现如下:(1) 如果“Allow users to add and remove sections(允许用户添加和移除部位)”属 性未被置位,则以上的UI和上下文菜单条目均被抑制;以及(2)仅当前一属 性被置位时,才启用“Section title(部位标题)”属性。当可用时,它在上述 上下文菜单条目中设置<item>的值。控件的现有属性如下应用:(1)“Content  control cannot be deleted(内容控件不能被删除)”属性意味着重复部位内容控 件134-b不能被删除,且内部的项受到上述新项目的控制;(2)它还意味着 用户不能删除重复部位中的最后一项;当有一个项留下时,“Delete<item>” 条目被禁用;(3)“Contents cannot be edited(内容不能被编辑)”属性意味 着仅重复部位之一内的内容控件可被编辑,而新项不能被添加到重复部位;以 及(4)Title(标题)/Tag(标签)属性应用于重复部位内容控件。

图12A、12B示出了重复部位内容控件134-b的用户界面视图1200。当重 复部位内容控件134-b被插入到文档模板130中时,新行为被应用重复部位内 容控件134-b。图12A、12B示出了当新项被添加到文档模板130中时的情况。 当新项被添加到文档模板130时,它被如下填充:(1)从中添加该项的项被 克隆,且该项中(a)没有子内容控件、或(b)被XML映射的所有内容控件 使其内容复位成占位符文本,除了子重复控件的情况以外,子重复控件被降成 单个项;(2)新内容被适当插入到现有控件之上/之下;以及(3)XML映射 对每个合适的逻辑重新连接。例如,假定重复部位内容控件134-b被示为图12A 中的项1202。还假定开发者从菜单1004选择“Insert item above”,则项1202 将具有如图12B中所示的附加项1204。

当项或者经由完全包含它的选择或者经由上下文菜单GUI被删除时,项 (及其容器标签)被删除。如果“Contents cannot be edited”属性被置位,则 仅当选择可被整体删除时,才允许删除(例如,如果之前/之后项的部分也被选 择,则不删除任何东西)。如果用户删除了集合中的最后一项,则父重复部位 控件134-b被删除,且不能在不按压Undo(撤销,例如撤销删除)的情况下 恢复。如果用户从右击菜单中选择“Remove Content Control(移除内容控件)” 条目,则重复部位内容控件134-b和所有其它重复部位项内容控件134-b被移 除。然而,数据存储不被更新。

当在重复部位周围编辑时,一些命令行为可改变。例如,如果指定的行被 包含在重复部位项内,则一些命令可被禁用。如果其整个表被包含在项中(例 如,如果它是嵌套表的一部分),则这不会发生。禁用命令的示例可包括Split  Table(拆分表)命令和Repeat Header Rows(重复标题行)命令。此外,如果 表包含重复部位内容控件,则Convert to Text(转换成文本)文本被禁用。如 果合并跨越重复部位项的起始/结束标签,Merge Cells(合并单元格)动作也可 被禁用。如果重复部位项横跨超过单行或单个段落,则Sort(排序)命令可被 禁用。Insert Row Above(在上方插入行)和Insert Row Below(在下方插入行) 如前所述地操作。Split Cells(拆分单元格)命令不允许用户在行被打开时改变 当前行数。此外,用户不能在重复部位与重复部位项控件之间键入,或在重复 部位内的相邻重复项之间编辑。

当用户进入设计模式时,对所有重复部位内容控件应用以下逻辑:(1) 如果重复部位内容控件是XML映射的,则控件内除第一个项以外的所有项被 移除;(2)醋酸盐GUI以及添加/移除项的上下文菜单项被隐藏。当用户退出 设计模式时,发生以下情况:(1)如果重复部位内容控件是XML映射的,对 重复部位的单个实例进行重复以匹配数据存储中的项数目;以及(2)醋酸盐/ 上下文菜单在适当时重新出现。

对重复部位内部的XML映射,内容控件映射组件524和/或内容控件重复 组件526如下映射它们:(1)如果映射不与作为其父链的一部分的节点集合 中的项相交,则绑定是“绝对绑定”并在所有重复部位项中示出相同的内容; (2)如果映射不与作为其父链的节点集合中的项相交,则绑定是“相对绑定”。 在后一情况中,如下重新映射绑定:(1)确定节点的绝对绑定(弄平任何查 询表达式)——这应对初始映射进行;(2)移除与节点集合相交的绑定的轴; 以及(3)相对于重复部位内容项的路径对路径的其余部分求值。

当将重复部位项添加到文档中时,从中添加该重复部位项的重复部位内容 项的XML片断被克隆。此外,所有叶XML节点及其属性使其值复位成空串, 或者刚好在现有的XML片断之前或在现有的XML片断之后在XML DOM的 适当位置中添加新XML子树。此外,相应的重复部位内容项中的所有XML 映射相对于此新的XML片断映射。对于出错情况,如果插入由于结构模式错 误(例如,maxOccurs(最大存在)=2而用户插入了第3项)而失败,则内 容控件映射组件524退回XML和文档模板130中的插入,并提交如下的失败 消息:“Another<item>cannot be added to the document.(另一<项>不能被添加 到文档中。)”使用前述逻辑来填充<item>。

图13示出了说明其中删除重复部位的情况的逻辑图1300。如逻辑图1300 中所示,当从文档模板130中删除重复部位项时,重复部位项的XML片断从 数据存储中的XML DOM中移除。XML片断保留在撤销堆栈/剪贴板上,因此 它可在父重复部位内剪切/粘贴并被撤销。如果替换子树出现在节点集合(或其 任何祖先)上,断开重复部位,执行替换动作,并将其挂回。这防止在替换期 间丢失所有的重复部位项。

逻辑图1300提供了删除重复部位项的示例。重复部位内容控件134-b被 映射到如项1302和代码1312所指示的具有两个值的节点集合。假定替换子树 操作在<title(职位)>上进行。在节点消失之前,重复部位是无界的,如项1304 和代码1314所指示。当它们被重新添加时,映射被重新连接,行1和2重新 映射到其新的项,并且从行2克隆行3,如项1306和代码1316所指示。

对于出错情况,如果删除由于结构模式错误(例如,minOccurs(最小存 在)=2而用户删除了最后两项之一)而失败,则在XML和文档模板130中 退回删除,并生成如下的失败消息:“This<item>cannot be deleted from the  document.(该<项>不能从文档中删除。)”使用前述逻辑来填充<item>。在打 开时,如果节点集合求值为空集合,则不像删除动作一样对待它。相反,重复 部位中的项保留,但是取消与数据存储的链接。一旦在节点集合出现单个节点 (进行上述替换逻辑),就按需连接映射和添加/移除项。

以下行为应用于涉及重复部位的剪切/复制/粘贴动作。当整体剪切重复部 位控件时,不对数据存储作出改变。无论何时重复部位项内容控件经由复制和 粘贴移动时,相应的XML节点就在XML数据存储中移动。当项被剪切时, 从XML数据存储中移除被映射的节点。当项被粘贴时,如果项被粘贴到兼容 的重复部位(例如,绑定到相同节点集合的重复部位)时,被映射的节点被适 当插入XML数据存储中(例如,如果它在第2项之后被插入,则在映射到该 项的XML节点之后直接插入子树);否则被剪切的XML被丢弃。

总之,或此外,上述实施例可包括增强的内容控件,这些内容控件提供具 有在每个控件的基础上定义的演示格式的能力。此外,在运行时动态改变增强 的内容控件。另外,增强的内容控件可被映射到节点的集合而非仅单个节点。 此外,增强的内容控件可被映射为仅添加新的演示数据(包括其它内容控件) 而非替换当前在那里的数据。

图14示出适用于实现上述各实施方式的示例性计算架构1400的实施方 式。如在本申请中所使用的,术语“系统”和“组件”旨在表示计算机相关的实体, 其可以是硬件、硬件和软件的组合、软件、或者执行中的软件,其示例由示例 性计算架构1400提供。例如,组件可以是但不限于,在处理器上运行的进程、 处理器、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执 行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用 和该服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线 程内,且组件可以位于一个计算机上和/或分布在两个或更多的计算机之间。此 外,组件可以通过各种类型的通信介质可通信地彼此耦合以协调操作。该协调 可以涉及单向或双向信息交换。例如,组件可以传递通过通信介质传递的信号 形式的信息。该信息可被实现成分配给各条信号线的信号。在这些分配中,每 一个消息都是信号。然而,其他实施方式可另选地采用数据消息。这些数据消 息可以跨各个连接发送。示例性连接包括并行接口、串行接口和总线接口。

在一个实施例中,计算架构1400可包括计算设备的一部分或作为计算设 备的一部分实现。电子设备的示例可包括但不限于,移动设备、个人数字助理、 移动计算设备、智能电话、蜂窝电话、手机、单向寻呼机、双向寻呼机、消息 收发设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本 计算机、手持式计算机、平板计算机、服务器、服务器阵列或服务器场、web 服务器、网络服务器、因特网服务器、工作站、小型计算机、大型计算机、超 级计算机、网络设备、web设备、分布式计算系统、多处理器系统、基于处理 器的系统、消费电子产品、可编程消费电子产品、电视机、数字电视机、机顶 盒、无线接入点、基站、用户站、移动用户中心、无线电网络控制器、路由器、 集线器、网关、网桥、交换机、机器、或其组合。各实施例不限于该上下文。

计算架构1400包括各种常见计算元件,如一个或多个处理器、协同处理 器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视 频卡、音频卡、多媒体输入/输出(I/O)组件,等等。然而,各实施方式不限 于由计算架构1400来实现。

如图14所示,计算架构1400包括处理单元1404、系统存储器1406以及 系统总线1408。处理单元1404可以是可购得的各种处理器中的任一种。双微 处理器和其它多处理器架构也可用作处理单元1404。系统总线1408向包括但 不限于系统存储器1406的各系统组件提供到处理单元1404的接口。系统总线 1408可以是若干种总线结构中的任一种,这些总线结构还可互连到存储器总线 (带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总 线架构中的任一种的局部总线。

计算架构1400可包括或实现各种制品。制品可包括存储逻辑的计算机可 读的存储介质。计算机可读存储介质的示例可包括能够存储电子数据的任何有 形介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可 擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可包括使用任何 合适类型的代码(诸如源代码、已编译代码、已解释代码、可执行代码、静态 代码、动态代码、面向对象代码、可视代码等)实现的可执行计算机程序指令。

系统存储器1406可以包括一个或多个更高速的存储器单元的形式的各种 类型的计算机可读存储介质,如只读存储器(ROM)、随机存取存储器(RAM)、 动态RAM(DRAM)、双倍数据率DRAM(DDRAM)、同步DRAM(SDRAM)、 静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、 电可擦除可编程ROM(EEPROM)、闪存、诸如铁电聚合物存储器等聚合物 存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅 (SONOS)存储器、磁卡或光卡、或适于存储信息的任何其他类型的介质。在 图14示出的所示实施方式中,系统存储器1406可包括非易失性存储器1410 和/或易失性存储器1412。基本输入/输出系统(BIOS)可以存储在非易失性存 储器1410中。

计算机1402可包括一个或多个较低速的存储器单元的形式的各种类型的 计算机可读存储介质,包括内置硬盘驱动器(HDD)1414、用于读写可移动磁 盘1418的磁软盘驱动器(FDD)1416、以及用于读写可移动光盘1422(例如, CD-ROM或DVD)的光盘驱动器1420。HDD 1414、FDD 1416、以及光盘驱 动器1420可分别由HDD接口1424、FDD接口1426和光盘驱动器接口1428 连接到系统总线1408。用于外置驱动器实现的HDD接口1424可包括通用串 行总线(USB)和IEEE 1394接口技术中的至少一种或两者。

驱动器及相关联的计算机可读介质提供了对数据、数据结构、计算机可执 行指令等的易失性和/或非易失性存储。例如,多个程序模块可存储在驱动器和 存储器单元1410、1412中,包括操作系统1430、一个或多个应用程序1432、 其他程序模块1434和程序数据1436。

一个或多个应用程序1432、其它程序模块1434和程序数据1436可例如 包括:系统100、200、应用程序120、文档模板组件122、内容控件组件124、 用户界面组件126、文档模板130、内容控件可视化组件522、内容控件映射组 件524、内容控件重复组件526和系统100、200的其它特征和组件。

用户可以通过一个或多个有线/无线输入设备,例如键盘1438和诸如鼠标 1440等定点设备将命令和信息输入到计算机1402中。其他输入设备可包括话 筒、红外(IR)遥控器、操纵杆、游戏垫、指示笔、触摸屏等等。这些和其他 输入设备通常通过耦合到系统总线1408入设备接口1442连接到处理单元 1404,但也可通过诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、 IR接口等其他接口连接。

监视器1444或其他类型的显示设备也经由诸如视频适配器1446等接口连 接到系统总线1408。除了监视器1444之外,计算机通常包括诸如扬声器、打 印机等其他外围输出设备。

计算机1402可使用经由有线和/或无线通信至一个或多个远程计算机,诸 如远程计算机1448的逻辑连接在网络化环境中操作。远程计算机1448可以是 工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器 的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机 1402描述的许多或所有元件,但为简明起见仅示出了存储器/存储设备1450。 所描绘的逻辑连接包括到局域网(LAN)1452和/或例如广域网(WAN)1454 等更大网络的有线/无线连接。这种LAN和WAN连网环境常见于办公室和公 司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如 因特网等全球通信网络。

当在LAN连网环境中使用时,计算机1402通过有线和/或无线通信网络 接口或适配器1456连接到LAN 1452。适配器1456可以方便到LAN 1452的 有线和/或无线通信,并且还可包括其上设置的用于使用适配器1456的无线功 能进行通信的无线接入点。

当在WAN连网环境中使用时,计算机1402可包括调制解调器1458,或 连接到WAN 1454上的通信服务器,或具有用于诸如通过因特网等通过WAN 1454建立通信的其它装置。或为内置或为外置以及有线和/或无线设备的调制 解调器1458经由输入设备接口1442连接到系统总线1408。在联网环境中,相 对于计算机1402所描绘的程序模块或其部分可以存储在远程存储器/存储设备 1450中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建 立通信链路的其他手段。

计算机1402可操作来使用IEEE 802标准系列来与有线和无线设备或实体 进行通信,这些实体例如是在操作上安置成与例如打印机、扫描仪、台式和/ 或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测 标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话进行无线 通信(例如,IEEE 802.11空中调制技术)的无线设备。这至少包括Wi-Fi(即 无线保真)、WiMax和蓝牙TM无线技术。由此,通信可以如对于常规网络那 样是预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。Wi-Fi 网络使用称为IEEE 802.11x(a、b、n、g等等)的无线电技术来提供安全、可 靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以 及连接到有线网络(使用IEEE802.3相关介质和功能)。

图15示出适用于实现上述各实施方式的示例性通信架构1500的框图。通 信架构1500包括各种常见通信元件,如发射机、接收机、收发机、无线电装 置、网络接口、基带处理器、天线、放大器、滤波器,等等。然而,各实施方 式不限于由通信架构1500来实现。

如图15所示,通信架构1500包括一个或多个客户机1502和服务器1504。 客户机1502可实现客户机系统310、400。服务器1504可实现服务器系统350。 客户机1502和服务器1504可操作地连接到可被用来存储相应客户机1502和 服务器1504本地的信息(如cookie和/或相关联的上下文信息)的一个或多个 相应客户机数据存储1508和服务器数据存储1510。

客户机1502和服务器1504可以使用通信框架1506在彼此之间传递信息。 通信框架1506可实现任何公知通信技术和协议,诸如参考系统300、400所描 述的那些。通信框架1506可以被实现为分组交换网络(例如,诸如因特网等 公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共 交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转 换器)。

一些实施例可使用表述“一个实施例”和”一实施例”及其派生词来描述。 这些术语意味着结合该实施例描述的特定特征、结构、或特性包括在至少一个 实施例中。出现在说明书中各个地方的短语“在一个实施例:不必全都指的是 同一实施例。此外,一些实施例可使用表述“耦合的”和“连接的”及其派生词来 描述。这些术语不必旨在互为同义词。例如,一些实施例可使用术语“连接的” 和/或“耦合的”来描述以指示两个或更多元件彼此有直接的物理或电接触。然 而,术语“耦合的”还可以意味着两个或更多元件彼此不直接接触,而仍彼此 合作或交互。

要强调,本公开的摘要是为了允许读者快速确定本技术公开的性质而提供 的。提交摘要的同时要明白,将不用它来解释或限制权利要求的范围或含义。 另外,在前面的详细描述中,可以看到,出于将本公开连成一个整体的目的而 将各种特征组合在一起放在单个实施方式中。此公开方法将不被解释为反映所 要求保护的实施方式要求比每个权利要求中明确陈述的更多特征的意图。相 反,如所附权利要求书所反映,发明性的主题存在于比单个已公开实施方式的 所有特征少的特征中。从而,据此将所附权利要求结合进详细描述中,其中每 个权利要求独立地代表一个单独的实施方式。在所附权利要求书中,术语“包 括”和“其中”分别用作术语“包含”和“其特征在于”的易懂的英文等价词。 而且,术语“第一”、“第二”、“第三”等等只用作标记,而不旨在将数字 要求强加于其对象上。

上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到 的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到, 许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落 入所附权利要求书的精神和范围内的更改、修改和变化。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号