具有本机部分和导出部分的内容的制作方法

文档序号:6594619阅读:110来源:国知局
专利名称:具有本机部分和导出部分的内容的制作方法
具有本机部分和导出部分的内容背景软件开发者继续添加和修改应用程序以便向用户提供所增加的功能。例如,软件 开发者可以编写以与先前提供功能的方式所不同的方式提供功能的新应用程序。同样,可 以对现有应用程序作出修改,例如添加新的功能部件、修改现有的功能部件、删除不希望的 功能部件等等。然而,由这些应用程序使用的文件格式,无论是新文件格式还是被修改的文 件格式,都可能与现有的文件格式不兼容。概述描述具有本机部分和导出部分的内容。在一种实现中,一个或多个计算机可读介 质包括可在计算设备上执行以便在内容容器中将内容存储为本机部分和导出部分的指令。 本机部分对首创内容的应用程序来说是本机的,且导出部分用来在本机部分不受支持时提 供内容的发布视图。在一种实现中,在作出内容容器中的内容的本机部分与应用程序不兼容的判断 时,读取内容容器中所包括的被配置成提供内容的发布视图的导出部分。输出从导出部分 所读取的内容的发布视图。在一种实现中,作出内容容器中的内容的本机部分与应用程序不兼容的判断。选 择内容容器中所包括的多个导出部分中的一个,其中导出部分中的每一个都被配置成提供 内容的发布视图。从所选择的导出部分输出内容的发布视图。提供本概述以便以简化形式介绍下面在详细描述中进一步描述的概念的选集。本 概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来帮助确定所要求 保护的主题的范围。附图简述参考附图描述该详细描述。各图中,参考数字的最左边的(诸)数字标识符其中 该参考数字第一次出现的图。在描述和附图中的不同实例中相同的参考数字的使用可以指 示相似的或相同的项。

图1是在示例实现中可操作为采用涉及具有本机部分和导出部分的内容的技术 的环境的阐释。图2是将图1的计算设备更详细地示出为经由网络与其他计算设备通信的示例实 现中的系统的阐释。图3将图1和图2的内容容器的示例实现描绘为具有遵照XPS的导出部分。图4是描述示例实现中其中编写包括将对应用程序来说是本机的内容的版本存 储在本机部分中并将对应用程序来说不是本机的内容的版本存储在导出部分中的选项的 应用程序的过程的流程图。图5是描述在示例实现中其中图4的应用程序被部署到最终用户并由最终用户使 用的过程的流程图。图6是描述在示例实现中其中在应用程序与内容容器中的本机部分不兼容时选 择多个导出部分中的至少一个以便由应用程序输出的过程的流程图。
详细描述腿软件开发者(例如,独立软件供应商、执业软件开发者等等)可以生产具有与现有 文件格式不兼容的文件格式的应用程序。例如,文件格式可以被修改为支持添加到应用程 序的功能。然而,所修改的文件格式可能与先前的文件格式不兼容。同样地,可以开发与先 前存在的文件格式不兼容的新文件格式。传统上,具有这些新格式(无论是新格式还是被修改的格式)的应用程序在用户 能够使用该应用程序的本机格式来共享内容之前在广泛的安装基础上部署。用来减轻此问 题的传统技术涉及导出功能的使用。然而,此传统技术的使用涉及由用户选择是将内容保 存到本机格式还是将内容导出到另一格式。此选择可以导致在功能方面可以具有广泛差异 的不同的内容版本的传播,例如,固定的功能对比可修改的功能、内容显示的不同丰富程度寸寸。描述具有本机部分和导出部分的内容。在一种实现中,描述了可以被用来维护具 有本机格式的内容的本机部分和提供内容的发布视图的导出部分的内容容器。例如,本机 部分可以包括对首创内容的应用程序来说是本机的格式的内容,例如新的文件格式或修改 的文件格式的内容。导出部分可以提供可以由与本机文件格式不兼容的应用程序访问的内 容的发布视图。因而,在内容容器被不支持本机文件格式的应用程序访问时,该应用程序可 以访问导出部分以便获取内容的发布视图。以此方式,内容容器可以自由地被应用程序共 享而不考虑该应用程序是否与本机文件格式兼容。不兼容的应用程序可以“回退”至内容 的兼容版本。在一种实现中,执行内容在内容容器中的存储(例如,使用“保存”命令)以 使得自动地存储本机部分和导出部分且无需进一步的用户干预。在一种实现中,内容容器可以支持导出部分的分层排列。例如,可以使用可以支持 不同的功能例如支持不同的显示技术(例如,颜色、字体、动画等等)、可以是固定的或可修 改的等等的不同文件格式来存储导出部分。因此,可以向与本机文件格式不兼容的应用程 序提供各种导出部分,这些导出部分可以使用各种各样的考虑例如访问内容容器的应用程 序功能来选择。还构想了各种其他示例,这些其他示例的进一步讨论可在有关图6处找到。在以下讨论中,首先描述可操作为采用涉及具有本机部分和导出部分的内容的技 术的示例环境。然后,描述可以在该示例环境中采用的各示例过程。因此,各示例过程的实 现不限于该示例环境,且同样地该示例环境的使用不限于执行各示例过程。示例环境图1是在示例实现中可操作为采用涉及具有本机部分和导出部分的内容的技术 的环境100的阐释。所阐释的环境100包括具有处理器104和存储器106的计算设备102。 可以以各种方式配置计算设备102。例如,计算设备102可以被配置成能够在网络上通信的 计算机,例如台式计算机、移动台、娱乐设备、通信上被耦合到显示器设备的机顶盒、无线电 话、游戏控制台等等。因而,计算设备102的范围可以是从带有充足的存储器和处理器资源 的全资源设备(例如,个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低 资源设备(例如,传统机顶盒、手持式游戏控制台)。处理器104不受形成其的材料或其中采用的处理机制所限制。例如,处理器104 可以由(诸)半导体和/或晶体管(例如,电子集成电路(IC))组成。在这样的上下文中,计算机可执行指令可以是处理器可执行指令。替代地,处理器的机制或用于处理器的机制, 以及因而计算设备102的机制或用于计算设备102的机制,可以包括但不限于,量子计算、 光计算、机械计算(例如,使用纳米技术)等等。另外,尽管出于图的清晰起见而示出单个 计算设备102和处理器104,但这些设备可以代表一个或多个设备。同样地,尽管示出单个 存储器106,但可以采用各种各样的类型和组合的存储器,例如随机存取存储器(RAM)、硬 盘存储器、可移动介质存储器和其他类型的计算机可读介质。计算设备102进一步被阐释为包括操作系统108和应用程序110。处理器104可 以从应用程序Iio和/或操作系统108检索和执行计算机程序指令以便向计算设备102提 供广泛的功能。例如,应用程序110可以包括与办公生产力、电子邮件、媒体管理、打印、连 网、web浏览等等相关的功能。构想了与应用程序110相关的各种内容,其示例包括办公文 档、多媒体文件、电子邮件、数据文件、web页面、用户简档和/或喜好数据等等。操作系统 108可以将计算设备102的功能抽象给应用程序,以使得应用程序110不“知道”如何提供 底层功能,例如,与处理器、存储器、外围设备等等的类型相关的特殊性。在图1中应用程序110被阐释为包括内容模块112,内容模块112代表应用程序 110的与内容114交互的功能。例如,内容模块112可以被配置成从特定的文件格式读取 内容114和/或使用特定的文件格式写入内容114。因此,内容模块112可以被认为是与 内容模块112可以从其读取内容114和/或向其写入内容114的文件格式兼容。在此示例 中,在来自内容模块112的幻影中阐释内容114,以表示内容114的存储由应用程序110的 内容模块112发起并起源。本机内容模块116代表应用程序110中使用对应用程序110来说是本机的文件格 式来读取和/或写入内容114的功能。例如,对应用程序110来说是本机的文件格式可以 被配置成支持可从应用程序110获得的功能的大部分,例如字体、格式、样式、图像显示技
术等等。导出内容模块118代表应用程序110中使用不同于本机内容模块116支持的本机 文件格式的一个或多个文件格式来读取和/或写入内容114的功能。可以支持各种不同的 导出文件格式,这些导出文件格式的进一步讨论可在有关图2处找到。通过本机内容模块116和导出内容模块118的使用,内容模块112还代表应用程 序Iio中从具有本机部分122和导出部分124的内容容器120中读取和/或向其写入的功 能。可以以诸如含有具有本机部分122的一个或多个文件和具有导出部分124的一个或多 个文件的文件等的各种方式实现内容容器120。在另一示例中,例如通过标签的使用,本机 部分122可以与导出部分124交错。因而,本机部分122和导出部分IM可以共享内容,在 一些示例中可以共享内容的至少一部分。本机部分122代表由本机内容模块116存储在内容容器120中和/或从其读取的 内容114的版本。因而,本机部分描述对应用程序110来说是本机的内容114的版本,这与 尽管为应用程序110支持但不是由应用程序110存储内容114的默认选项的其他文件格式 形成对比。导出部分124代表将本机部分122中的内容114的发布视图提供给与应用程序 110的本机文件格式不兼容的应用程序的功能。例如,导出内容模块118可以被配置成形成 内容容器120的本机部分122中的内容114的发布版本。从内容容器120的导出部分IM获取的发布版本可以由与内容120的本机部分122不兼容的应用程序使用,其进一步讨论 可在有关图2处找到。以此方式,内容容器120可以由应用程序访问而不考虑该应用程序 是否与应用程序110的本机文件格式兼容。因而,通过在内容容器120中包括本机部分122 和导出部分1 两者,可以在应用程序之间传递内容114而不考虑兼容性,但仍向那些应用 程序提供对应的功能。举例来说,与本机文件格式不兼容的应用程序可以将内容容器120 传递给兼容的另一应用程序。然后,此另一应用程序可以访问来自本机部分122的内容,这 是使用传统的导出或保存技术不可能的。计算设备102进一步被阐释为包括显示模块126,显示模块1 适于接收由内容模 块112读取的、待渲染以供输出到显示器设备128的内容。例如,显示模块1 可以包括设 备驱动器功能,设备驱动器功能与操作系统108通信,以便使得来自内容容器120的内容被 渲染以供显示。尽管内容模块112已经被描述为应用程序110的部分,但可以以各种不同的方式 实现内容模块112。例如,操作系统108还被阐释为包括内容模块130,内容模块130可以 包括与对于内容模块110所描述的相似的功能。在此示例中,内容模块130(通过与操作系 统108结合)可以将此功能抽象给其他应用程序,诸如读取内容容器120中的内容和/或 向其写入内容等的。还构想了各种其他示例,诸如例如被配置成作为内容查看器而工作的 “独立的”内容模块等。图2阐释将图1的计算设备102更详细地示出为经由网络206与其他计算设备 202,204通信的系统200。如前所述,计算设备102包括具有带有本机内容模块116和导出 内容模块118的内容模块112的应用程序110。计算设备102还包括如先前所描述的具有 本机部分122和导出部分124的内容容器120。计算设备202被阐释为包括本机支持应用程序208,本机支持应用程序208代表 与应用程序Iio兼容的应用程序。例如,本机支持应用程序208可以包括由本机内容模块 116表示的、以对应用程序110来说是本机的文件格式读取和/或写入内容的功能。因而, 本机支持应用程序208可以从内容容器122的本机部分122读取以便与内容114交互。然而,计算设备204被阐释为包括与应用程序110不兼容的传统应用程序210。结 果,传统应用程序210不被配置成读取内容容器120的本机部分122和/或向其写入内容。 因此,传统应用程序210可以访问导出部分124以便获取本机部分122中的内容114的发 布版本。导出部分IM可以遵照各种不同文件格式来将内容114存储为可发布版本。正如 在图2的此系统200中所阐释的那样,举例来说,导出部分IM可以被构建为遵照XML纸张 规范(XPQ212(例如,版本1)、可移植文档格式(PDF) 214、超文本传输协议(HTTP)216、美国 信息交换标准代码(ASCII) 218等等。在一种实现中,导出部分1 可以代表在内容容器120中所包括的多个导出部分。 例如,内容容器120包括遵照XPS 212的导出部分和遵照HTTP 216的另一导出部分。因此, 可以向传统应用程序210提供发布内容的各版本的各种选项。此各种选项可以被用来支持 各种不同的功能。例如,内容容器120,且更具体地是导出部分124,可以支持级联技术。举例来说, 传统应用程序210可能未被配置成支持XPS 212,但是可以支持PDF214。因而,仍然向传统应用程序210提供与传统应用程序210兼容的选项。还构想了各种其他示例,这些各种其 他实例的进一步讨论可在有关图6处找到。导出内容模块118还可以提供结合导出部分124的各种其他功能。例如,导出内 容模块118可以将导出部分IM配置为包括链接220。链接220可以提供各种不同的功能, 例如到被配置成从本机部分122读取内容的独立的内容模块112(例如,查看器)的链接、 到可以被用来购买应用程序110和/或内容模块112的网站的链接等。图3将图1和图2的内容容器120的示例实现300描绘为具有遵照XPS的导出部 分。就在下面描述的示例的上下文是其中内容容器120可以被构建为遵照XML纸张规范 (XPS)版本1的上下文。应明白和理解,可以结合不同于XPS标准的其他标准来采用在本文 中描述的各种实施例而不偏离其精神和范围。另外,可以结合XPS规范的随后版本来采用 各种实施例。内容容器120被阐释为包括以本机文件格式302存储的数据和以XPS导出格式 304存储的数据。可以以各种不同的方式配置本机文件格式302的数据,以便支持如相对于 先前的各图所描述的应用程序读取或写入这一格式的功能。导出部分IM被阐释为被根据XPS 212而配置,且因而被阐释为XPS导出格式 304。作为XPS标准的简要概览,考虑下列内容。XML纸张规范,即XPS,描述使用XML和其 他技术来描述内容的一组约定,例如分页文档的外观。开发XPS是为了保证生产或消费XPS 内容的独立创建的软件和硬件系统的互操作性。XPS规范定义生产者和消费者所满足的正 式特征,以便获得互操作性。XPS规范描述被称为XPS文档的分页文档格式。该格式特征涉及在开放式包装约 定规范中描述的包装特征的扩展。该规范描述使用XML、UniCOde、ZIP和其他技术和规范来 组织构成文档的内容和资源的包装和物理格式约定。XPS文档格式代表具有固定布局的一个或多个相关页面,在字面的传统意义上,这 些页面被组织成一个或多个文档。实现此格式的文件提供对将那些文档完全地渲染在显示 设备或物理介质(例如,纸张)上的支持。这包括诸如可以用来渲染各个页面标志且因而 发布XPS文档中的内容的字体和图像等的资源。另外,该格式包括在用于渲染一组页面的组件的最小集上构建的可选组件。这包 括指定打印工作控制指令、将最小页面标志组织成诸如段落的较大的语义块以及在物理上 重新安排该格式的内容以便容易以流化方式消费的能力等等。XPS文档格式将ZIP归档用作其物理模型。开放式包装约定规范描述一包装模型, 也就是说,如何用部件和关系来在内部表示包。XPS文档格式还包括一组部件和关系,其中 的每一个都在文档中履行特定目的。该格式还扩展包特征,包括数字签名、缩略图和交错。开放式包装约定规范中所描述的包装约定可以用来携带与内容相关的各种净荷。 净荷是包内相互依存的部件和关系的完全集。XPS规范定义含有分页内容的静态或“固定 布局”的表示的特定净荷不可修改的固定净荷。拥有至少一个固定净荷并遵循XPS规范中所描述的规则的包被称为XPS文档。XPS 文档生产者和消费者可以基于此规范实现他们自己的语法分析程序和渲染引擎。使用已知的渲染规则,可以毫无疑义地复制或打印XPS文档且无需使计算设备或 应用程序捆绑于具体的操作系统或服务库。因为XPS文档是用中立的、独立于应用程序的方式来表达的,所以无需用于创建包的应用程序就可以查看和打印内容。具有固定文档序列根部件的净荷被称为固定净荷。固定净荷根是引用固定文档部 分的固定文档序列部分,固定文档部分又引用固定页面部分。在XPS文档中可以存在多于 一个的固定净荷。定义一种具体的关系类型来标识XPS文档内的固定净荷的根XPS文档开始部分 关系。主固定净荷根是由XPS文档开始部分关系引用的固定文档序列部分。诸如查看器或 打印机等的消费者使用XPS文档开始部分关系来查找包中的主固定净荷。XPS文档开始部 分关系指向标识固定净荷的根的固定文档序列部分。净荷包括用来处理固定文档序列部分的各部分的全集。待渲染的内容被包含在 XPS文档中。下表列出XPS文档中可找到的各部分,其中的一些在该表下更详细地描述。
名称描述固定文档序列306指定固定文档的序列。固定文档308指定固定页面的序列。固定页面310含有页面内容的描述。字体312含有 OpenType 或 TrueType 字体。图像314: JPEG图像 PNG图像 TIFF图像 Windows媒体照片图像引用图像文件。远程资源字典316含有供固定页面标记使用的资源字典。缩略图318含有代表页面或包的内容的小JPEG或PNG
权利要求
1.一个或多个计算机可读介质(106),所述计算机可读介质包括可在计算设备上执行 以便在内容容器中将内容存储为以下的指令对首创所述内容的应用程序来说是本机的本机部分(122);以及 在所述本机部分不受支持时提供所述内容的发布视图的导出部分(124)。
2.如权利要求1所述的一个或多个计算机可读介质,其特征在于,支持所述本机部分 的应用程序对所述本机部分的访问提供所述应用程序在访问所述导出部分时不可用的至 少一个功能。
3.如权利要求1所述的一个或多个计算机可读介质,其特征在于 所述内容容器包括多个所述导出部分;以及所述多个导出部分支持级联回退,以使得特定的所述导出部分可由不支持所述本机部 分的应用程序基于不支持所述本机部分的所述应用程序的一个或多个能力来选择。
4.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述指令被配置成 响应于用户对保存命令的选择而自动地将所述内容存储在所述内容容器中且无需另外的 用户干预。
5.如权利要求1所述的一个或多个计算机可读介质,其特征在于所述导出部分包括在所述本机内容不受支持时提供所述内容的发布视图的多个所述 导出部分;以及至少一个所述导出部分是根据不同于另一所述导出部分的格式被配置的。
6.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述导出部分和所 述本机部分共享所述内容的至少一部分。
7.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述导出部分和所 述本机部分是间隔交错的。
8.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述导出部分是根 据XML纸张规范XPS配置的。
9.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述指令包括所述 应用程序。
10.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述应用程序作为 可在所述计算设备上执行的操作系统的一部分而被包括。
11.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述内容容器是包 含多个其他文件的文件,所述多个其他文件中的至少两个包括具有所述本机部分的文件和 具有所述导出部分的另一文件。
12.一种方法,包括在作出内容容器中的内容的本机部分与应用程序不兼容的判断时,读取在所述内容容 器中所包括的被配置成提供所述内容的发布视图的导出部分(508);以及 输出从所述导出部分读取的所述内容的所述发布视图(510)。
13.如权利要求12所述的方法,其特征在于,所述导出部分是根据XML纸张规范XPS配置的。
14.如权利要求12所述的方法,其特征在于,所述读取和所述输出由所述应用程序执行。
15.如权利要求12所述的方法,其特征在于,所述读取和所述输出由作为操作系统的 一部分的所述应用程序执行。
16.如权利要求12所述的方法,其特征在于,所述导出部分包括对被配置成读取所述 本机部分并输出所述读取的结果的一个或多个模块的链接。
17.一种方法,包括判断内容容器中的内容的本机部分与应用程序不兼容(602);选择在所述内容容器中所包括的多个导出部分中的一个,所述每一所述导出部分被配 置成提供所述内容的发布视图(604);以及从所选择的所述导出部分输出所述内容的发布视图(606)。
18.如权利要求17所述的方法,其特征在于,至少部分基于与所述应用程序兼容的所 述多个导出部分中的哪一个与其他所述导出部分相比支持更丰富的内容显示来执行所述 选择。
19.如权利要求17所述的方法,其特征在于,至少部分基于与所述应用程序兼容的所 述多个导出部分中的哪一个可由所述应用程序修改来执行所述选择。
20.如权利要求17所述的方法,其特征在于,所述判断、所述选择和所述输出由操作系 统执行。
全文摘要
描述具有本机部分和导出部分的内容。在一种实现中,一个或多个计算机可读介质包括可在计算设备上执行以便在内容容器中将内容存储为本机部分和导出部分的指令。本机部分对首创内容的应用程序来说是本机的,而导出部分在本机部分不受支持时提供该内容的发布视图。
文档编号G06Q50/00GK102132313SQ200980134128
公开日2011年7月20日 申请日期2009年6月26日 优先权日2008年6月26日
发明者A·威利, J·J·迪尼埃兹, J·法斯沃斯, R·A·雷里亚 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1