专利名称:用于表示文档的文件格式、方法和计算机程序产品的制作方法
技术领域:
本发明一般涉及文件格式,尤其涉及用于在组件化的文字处理应用程序中表示文档的方法和文件格式。
背景技术:
信息时代推动利用文字处理软件应用程序构建复杂文档的纪元。但是,先前创建和结构化文件格式以存储文档的方式有几个缺点。例如,先前的文档文件格式是以包含单一数据的单个文件的形式创建的。因为一般使用专用格式来创建这些单个文件,所以每个构建文档存储的公司都开发不同的文件格式。因此,先前的各种文件格式中没有任何一个能胜任默认文件格式。因为这些不同文件格式内的数据是整体式的,并且不能以离散部件的形式被访问,所以产生了一连串问题。
编程者所面对的一个问题是基本文档重复使用。例如,即使是在同一个应用程序中,也很难不运行文字处理应用程序即从该文字处理应用程序中提取一个或多个文档,并且在不同的文字处理应用程序中重复使用所提取的文档并保持文档的完整性。相比较而言,在不同应用程序之间重复使用文档的情况更加糟糕。重复使用文档的内容(诸如表格或图表)同样也很困难。
其次,因为整体式文件格式的原因,实际上不可能锁定文档的一部件。因此,诸如多用户编辑(可能在不同平台上,和/或来自不同现场的若干人在锁定机制的帮助下合作编辑一个文档)等特征被禁止。就锁定而言,大多数技术完全是在文件等级上实现的,因此如果文件被一用户锁定,则没有其它任何用户能够编辑该文件。查看是可能的,但不能编辑。
还有文档询问的问题。寻找文档内的内容(例如,寻找关于2004年销售预测的文档)可能是令人气馁的任务。要在能够确定内容的语义的整体式文件格式文档内找到离散部件是非常困难的。甚至在现有二进制文件格式被记录在案时此问题仍然存在。更加困难的是实现能很好地处理现有二进制文件格式的读出器和写入器类。即使开发出针对应用程序的工具,它也不能询问所有文档格式。此问题被称为单个文件格式的不透明性。
文档表面铺设,即取一种文件格式化的文档的部件并将它们放到另一个文档中的能力也是个问题。例如,很难以整体式样式的文件格式询问从文字处理器文档复制到文字处理文档中的表格。
此外,在例如按图形浏览可访问内容等文档预览的情形中,很难检索通过浏览器或第三方应用程序中的外壳展示的内容的高分辨率预览。一些文字处理应用程序可提供单个页面的缩略图或预览,但没有一种文字处理应用程序提供文档中所有部件的高分辨率预览。
因此,在业界有亟待解决前述缺陷和不足的需要。
发明内容
本发明的各个实施例提供用于在计算装置内部实现的模块化内容框架中表示文档的文件格式、方法和计算机程序产品。本发明的各个实施例揭示诸如可扩展标记语言(XML)文件格式等开放式文件格式和/或二进制文件格式,以及在文字处理应用程序内组织和建模文档的特征和数据的方法。将文件格式设计成由集合和部件组成。每个集合起到文件夹的作用,而每个模块化部件起到文件的作用。这些单独的文件用关系联系到一起,其中每一个单独的关系都具有一种关系类型。关系类型可用于标识所引用的是什么类型的部件。此设计大大简化了文字处理应用程序组织文档特征和数据的方法,并且给出一种不那么容易混淆的逻辑模型。
一个实施例是一种用于在模块化内容框架中表示文档的文件格式。模块化内容框架可包括与模块化部件相关联的文件格式容器。文件格式包括模块化部件,它们在逻辑上是分离的,但由一个或多个关系相互关联。每个模块化部件都与一种关系类型相关联,并且模块化部件包括作为文档属性向导的文档部件。每个模块化部件都能用或不用文字处理应用程序来单独询问,而无须询问其它模块化部件,这提高了查询文档时的效率。
模块化部件还可包括包含与文件格式相关联的内建属性的文档属性部件,以及包含与文件格式相关联的一个或多个缩略图的缩略图部件。每个模块化部件都能从文档中被提取和/或复制,并随通过遍历或导航重复使用的模块化部件的关系标识的相关联模块化部件在不同的文档中被重复使用。通过导航关系,能够确定所提取的或重复使用的模块化部件影响哪些其它部件。
另一个实施例是一种用于以一种文件格式表示文档的方法,其中与文档相关联的模块化部件包括写入该文件格式中的每一个部件。该方法涉及写文件格式的第一模块化部件,以及向第一模块化文档查询要与逻辑上分离、但由一个或多个关系相关联的模块化部件相关联的关系类型。此外,该方法还涉及写与第一模块化部件分开的文件格式的第二模块化部件,以及建立第一模块化部件和第二模块化部件之间的关系。每一个模块化部件都能被单独询问,而无须询问其它模块化部件。
该方法还可涉及建立文档部件和文件格式容器之间的关系,其中文件格式容器包括包含与文件格式相关联的内建属性的文档属性部件,以及包含与文件格式相关联的缩略图的缩略图部件。
另外,该方法可涉及写与关系类型相关联的其它模块化部件以及对所写的其它模块化部件的关系,其中要共享的其它模块化部件仅被写一次。写与关系类型相关联的其它模块化部件涉及检查与文档相关联的数据,确定已检查的数据是否已被写到模块化部件中,以及在已检查的数据尚未被写到模块化部件中时,写该模块化部件以包括已检查的数据。
又一个实施例是一种包括计算机可读介质的计算机程序产品,该计算机可读介质中存储了用于使计算机以文件格式表示文档的控制逻辑,其中文件格式的模块化部件包括写入文件格式中的每一个部件。该控制逻辑包括计算机可读程序代码,用于使计算机写该文件格式的文档部件,向文档查询要与逻辑上分离、但由一个或多个关系与文档相关联的模块化部件相关联的关系类型,写与文档部件分开的该文件格式的模块化部件,以及建立文档部件和所写模块化部件之间的关系。
除了在将各部件连接到一起中使用关系以外,每个模块化部件或文件中还有单个部件描述每个模块化部件的内容类型。这为查询提供了可预测的位置,以查明文件内是什么类型的内容。
本发明可使用计算机过程、计算系统、或诸如计算机程序产品或计算机可读介质等制造品来实现。计算机程序产品可以是计算机系统可读、并且编码的用于执行计算机过程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算系统可读的、并且编码的用于执行计算机过程的指令的计算机程序的载波上的传播信号。
阅读以下详细描述并查看附图以后,表征本发明的这些和各个其它特征以及优点将变得显而易见。
图1所示是本发明各个示例性实施例中所使用的并由这些实施例提供的计算装置的计算系统体系结构;图2a-2c根据本发明的各个示例性实施例,示出用于表示文字处理器的文件格式中使用的各个模块化部件的文档关系分层结构的框图;图3-4是根据本发明的各个示例性实施例,在模块化内容框架中的表示文档中所执行的示例性例程。
具体实施例方式
现在参考附图,其中相同的标号表示相同的元素,以描述本发明的各个方面。特别地,图1和相应的讨论旨在提供对可实现本发明各实施例的合适的计算环境的简要的、一般的描述。尽管将在与在个人计算机上的操作系统上运行的程序模块协同执行的程序模块的通用上下文中描述本发明,但是本领域技术人员将会认识到,本发明还可结合其它类型的计算机系统和程序模块来实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、操作、组件、数据结构、以及其它类型的结构。此外,本领域技术人员将会认识到,可以其它计算机系统配置来实施本发明,包括手持式设备、多处理器系统、基于微处理器的或可编程的消费者电子设备、小型计算机、大型计算机、等等。还可在分布式计算环境中实施本发明,其中任务由通过通信网络连接的若干远程处理设备执行。在分布式计算环境中,程序模块可位于本地的和远程的记忆存储设备上。
现在参考图1,描述在本发明的一个实施例中使用的计算机2的示例性计算机体系结构。图1所示的计算机体系结构示出诸如服务器、台式计算机、膝上计算机、或手持式计算设备等计算设备,包括中央处理单元5(“CPU”)、包括随机存取存储器9(“RAM”)和只读存储器(“ROM”)11的系统存储器7、以及将存储器耦合到CPU 5的系统总线12。包含诸如在启动期间帮助在计算机内部各元件之间传递信息的基本例程的基本输入/输出系统是存储在ROM 11中。计算机2还包括大容量存储设备14,用于存储操作系统16、应用程序、以及其它程序模块,这将在以下更详细地讨论。
大容量存储设备14通过连接到总线12的大容量存储控制器(未示出)连接到CPU 5。大容量存储设备14及其相关联的计算机可读介质为计算机2提供非易失性的存储。尽管本文中所包含的对计算机可读介质的描述指诸如硬盘或CD-ROM驱动器等大容量存储设备,本领域技术人员应当认识到,计算机可读介质可以是可由计算机2访问的任何可用介质。
作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EPROM、EEPROM、闪存或其它固态存储器技术,CD-ROM、数字多功能盘(“DVD”)、或其它光存储,磁带盒、磁带、磁盘存储或其它磁存储设备,或可用于存储所需信息并可由计算机2访问的任何其它介质。
根据本发明的各个实施例,计算机2可在使用通过诸如因特网等网络18到远程计算机的逻辑连接,在联网环境中工作。计算机2可通过连接到总线12的网络接口单元20连接到网络18。应当认识到,网络接口单元20还可被用来连接到其它类型的网络和远程计算机系统。计算机2还可包括输入/输出控制器22,用于接收和处理来自若干其它设备的输入,包括键盘、鼠标、或电子笔(图1中未示出)。类似地,输入/输出控制器22可向显示屏、打印机或其它类型的输出设备提供输出。
如以上简要提及,若干程序模块和数据文件可存储在计算机2的大容量存储设备14和RAM 9中,包括诸如来自华盛顿州雷蒙德市的微软公司的WINDOWSXP操作系统等适用于控制联网个人计算机的操作的操作系统16。大容量存储设备14和RAM 9还可存储一个或多个程序模块。特别地,大容量存储设备14和RAM9可存储文字处理应用程序10。文字处理应用程序10用于提供以诸如XML文件格式和/或二进制文件格式等开放式文件格式24创建和构造的诸如文档27等文字处理器文档的功能。根据本发明的一个实施例,文字处理应用程序10和其它应用程序26包括来自微软公司的OFFICE应用程序组,它包括WORD、EXCEL和POWERPOINT应用程序。
本发明的各个实施例大大地简化和明确了文档特征和数据的组织。文字处理程序10将文档的各个‘部件’(特征、数据、主题、样式、对象、等等)组织成逻辑的、分离的片,然后表达这些分离的片之间的关系。这些关系以及文档各‘部件’的逻辑分离组成可很容易地由诸如开发者的代码等访问的新的文件组织。
现在参考图2a-2c,将描述根据本发明的各个示例性实施例、示出用于表示文档的文件格式24中使用的各个模块化部件的文字处理器文档关系分层结构208的框图。文字处理器文档关系分层结构208列出具体的文件格式关系,其中一些具有显式的引用指示器205,它指示例如经由关系标识符对模块化部件的内容中的关系的显式引用。此类例子有图像部件260,它由与双亲部件有关系的模块化部件的双亲部件或引用部件所引用。在本发明的一些实施例中,仅有从双亲或引用模块化部件(例如,从文档部件202)对图像部件260的关系可能是不够的。双亲部件可能还需要内联对该图像部件关系的显式引用,以知道该图像的去向。非显式指示器206指示相关联的、但在双亲部件的内容中没有直接调出的引用模块化部件。此类例子有样式表单261,其中隐含了总是有相关联的样式表单,因此无需在内容中调出样式表单261。任何人想要找到样式表单261,所需做的只是寻找该类型的关系。有关验证的可选关系用斜体指示。
文档关系分层结构208的各个模块化部件或组件在逻辑上是分离的,但是由一个或多个关系相关联。每一个模块化部件还与一种关系类型相关联,并能够用或不用文字处理应用程序10来单独询问和理解,且/或需要或无需询问和/或理解其它模块化部件。因此,例如,定位文档的内容是较简单的,因为不是搜索所有二进制记录来寻找文档信息,而是可编写代码很容易地检查文档中的关系,并有效地找到这些文档部件,忽略了文件格式24中的其它特征和数据。因此,编写代码,以远比先前的询问代码简单的方式步进式地遍历文档。因此,在以往很繁重的诸如移除所有图像等动作现在简单多了。
模块化内容框架可包括与模块化部件相关联的文件格式容器207。模块化部件包括文档部件202,它担当文档属性的向导。文档分层结构208还可包括包含与文件格式24相关联的内建属性的文档属性部件205、以及包含与文件格式24相关联的缩略图的缩略图部件209。应当认识到,每个模块化部件都能从文档中被提取和/或复制,并与通过遍历重复使用的模块化部件的关系标识出来的相关联的模块化部件一起在不同的文档中被重复使用。当文字处理应用程序10遍历被重复使用的模块化部件的传入和传出关系时,相关联的模块化部件被标识出来。
除了在将各部件连接到一起中使用关系以外,每个文件中还有单个部件描述每个模块化部件的内容类型。这为查询提供了可预测的位置,以查明文件内是什么类型的内容。关系类型描述双亲部件将如何使用目标部件(诸如“图像”或“样式表单”等),而内容或部件类型203描述实际的模块化部件的内容格式是什么(诸如“JPEG”或“XML”)。这既有助于找到被理解的内容,又有助于使快速移除被视为不想要的(出于安全原因,等等)的内容更为简单。这里的关键是文字处理应用程序必需强制所声明的内容类型确实正确。如果所声明的内容类型不正确,且不匹配该模块化部件的实际内容类型或格式,则文字处理应用程序将无法打开该模块化部件或文件。否则可能会打开潜在有害的内容。
参考图2b,其它模块化部件可包括包含与文档相关联的注释的注释部件220、自动文本部件214(例如包含与文档相关联的各种单词的定义的词汇表等)、以及包含与文档的文本相关联的数据的组块部件218。另外,模块化部件还可包括包含能被读入到文档中并能被改变的定制数据的用户数据部件222、包含与文档相关联的脚注的脚注部件224、以及包含与文档相关联的尾注的尾注部件225。
其它模块化部件包括包含与文档相关联的页脚数据的页脚部件227、包含与文档相关联的页眉数据的页眉部件229、以及包含与文档相关联的参考书目数据和/或参考书目的底层数据的参考书目部件231。此外,模块化部件还可包括包含定义与文档相关联的电子表格对象的电子表格部件249、包含与文档相关联的对象的嵌入对象部件251、以及包含定义与文档相关联的字体的数据的字体部件253。
参考图2c,模块化部件还包括包含诸如Escher 2.0对象等与文档相关联的对象的绘图对象部件257(其中绘图对象使用绘图平台构建的)、包含文档的用户经由电子邮件发送文档所用的信封数据的邮件信封部件259、包含与文档相关联的代码的代码文件部件255(其中代码文件部件能经由外部链路270访问)、以及包含与文档相关联的超链接的超链接部件272(其中超链接部件272包括统一资源定位器)。
其它模块化部件还可包括包含与文档相关联的对象的嵌入对象部件251、包含能够被读入到文件格式容器中并可被改变的定制数据的第二用户数据部件245。例如,本发明的实施例使得编程者/开发者能更容易地定位文档中的嵌入对象,因为任何嵌入对象在文件格式24中都有表达对应关系的单独的嵌入对象部件251。和其它模块化部件一样,嵌入对象部件251逻辑上脱离并与文档的其它特征和数据分离。应当认识到,在一个以上关系中共享的模块化部件通常仅被写到存储器一次。还应认识到,某些模块化部件是全局性的,因此可在文件格式中的任何地方使用。相反,某些模块化部件不是全局性的,因此仅可在有限基础上共享。
在本发明的各个实施例中,文件格式24可根据可扩展标记语言(“XML”)和/或二进制格式来格式化。如本领域技术人员所知,XML是传递数据的一种标准格式。XML数据格式中,使用一种方案为XML数据提供管理可被传递的数据的类型和结构的语法和数据类型规则的集合。XML数据格式对本领域技术人员而言是众所周知的,因此不在本文中进一步详细讨论。XML格式化严格地反映内部存储器结构。因此,加载和保存速度的提高是显然的。
本发明的各个实施例使得文档更可编程地访问。这实现了以往的文件格式无法达到的巨大数量的新用户。例如,使用本发明的各实施例,服务器方程序能够基于用户的输入为其创建文档。例如,创建2004年1月1日到2004年12月31日时间段公司A的报告。
图2a-2c还包括根据本发明的各个示例性实施例在文件格式24中使用的关系类型。与模块化部件相关联的关系类型不仅标识关联或依存关系,还标识依存关系的基础。关系类型包括以下能够标识潜在有害代码文件的代码文件关系、用户数据关系、超链接关系、注释关系、嵌入对象关系、绘图对象关系、图像关系、邮件信封关系、文档属性关系、缩略图关系、词汇表关系、组块关系、以及电子表格关系。
参考图2a,还示出列表211,它列出用于组织模块化部件的集合类型。集合类型包括代码集合(该集合包括代码文件部件255)、包括绘图对象部件257的绘图集合、以及包括用户数据部件222的数据部件。集合类型还包括嵌入集合(该集合包括嵌入对象部件251)、包括字体部件253的字体集合,和包括注释部件220、脚注部件224、尾注部件225、页脚部件227、页眉部件229和/或参考书目部件231的注释集合。
图3-4是根据本发明的各个示例性实施例,在模块化内容框架中表示文档中所执行的示例性例程。当阅读本文中给出的对例程的讨论时,应当认识到,本发明的各个实施例的逻辑操作被实现(1)作为计算机实现的动作序列或在计算系统上运行的程序模块;和/或(2)作为计算系统内互连的机器逻辑电路或电路模块。该实现是根据对实现本发明的计算系统的性能要求进行选择的问题。因此,图3-4中所示的、并组成本文中所述发明的各个实施例的逻辑操作被称作操作、结构化设备、动作或模块等不同称呼。本领域技术人员将会认识到,这些操作、结构化设备、动作和模块可用软件、固件、专用数字逻辑、及其任何组合实现,而不会偏离如所附权利要求书中所陈述的本发明的精神和范围。
现在参考图2a-2c和3,例程300在操作304开始,文字处理应用程序10写文档部件202。例程300从操作304前进至操作305,文字处理应用程序10对该文档查询寻找逻辑上与文档部件分离但通过一个或多个关系与文档部件相关联的模块化部件相关联的关系类型。接下来,在操作308,文字处理应用程序10写与文档部件分开的文件格式的模块化部件。每个模块化部件都能被单独询问,而无需询问和理解其它模块化部件。要在其它模块化部件之间共享的任何模块化部件都仅被写一次。例程300随即前进至操作310。
在操作310,文字处理应用程序10建立最近所写的和先前所写的模块化部件之间的关系。例程300随即在返回操作312终止。
现在参考图4,将描述用于写模块化部件的例程400。例程400在操作402开始,文字处理应用程序10检查文字处理应用程序中的数据。然后例程400前进至检测操作404,以检测该数据是否已被写到模块化部件中。当数据尚未被写到模块化部件中时,例程400从检测操作404前进至操作405,在此文字处理应用程序写包括已检查的数据在内的模块化部件。然后例程400前进至下述的检测操作407。
当在检测操作404,被检查的数据已被写到模块化部件中时,例程400从检测操作404前进至检测操作407。在检测操作407,确定是否已检查了所有数据。如果已经检查了所有数据,则在返回操作412例程400将控制返回给其它操作。当仍有其它数据要检查时,例程400从检测操作407前进至操作410,文字处理应用程序10指向其它数据。例程400随即返回上述的操作402。
基于前述内容,应当认识到,本发明的各个实施例包括用于在模块化内容框架中表示文档的文件格式、方法和计算机程序产品。以上说明书、示例和数据提供制造和使用本发明的组成的完整描述。因为可作出本发明的许多实施例而不会偏离本发明的精神和范围,所以本发明驻留在所附权利要求书中。
权利要求
1.一种用于表示用文字处理应用程序创建的文档的文件格式,所述文件格式在计算装置内实现的模块化内容框架中表示所述文档,所述文件格式包括逻辑上分离但通过一个或多个关系相关联的模块化部件,其中,每个模块化部件都与一种关系类型相关联,且所述模块化部件包括文档部件,用作所述文档的属性的向导;其中,每个模块化部件都能够被单独询问,而无须询问其它模块化部件。
2.如权利要求1所述的文件格式,其特征在于,所述模块化内容框架包括与所述模块化部件相关联的文件格式容器,其中,所述模块化部件还包括包含与所述文件格式相关联的内建属性的文档属性部件;以及包含与所述文件格式相关联的缩略图的缩略图部件。
3.如权利要求1所述的文件格式,其特征在于,每一个所述模块化部件都能是以下中的一种从所述文档中提取和复制,以及与相关联的模块化部件一起在不同文档中重复使用,所述相关联的模块化部件是通过遍历要重复使用的模块化部件的关系来标识的。
4.如权利要求3所述的文件格式,其特征在于,所述模块化部件还包括以下的至少一个包含与所述文档相关联的注释的注释部分;包含与所述文档相关联的各种单词的定义的词汇表部分;以及包含与所述文档的文本相关联的组块部件。
5.如权利要求4所述的文件格式,其特征在于,所述模块化部件还包括包含能够被读入到所述文档中并能够被改变的定制数据的用户数据部件。
6.如权利要求4所述的文件格式,其特征在于,所述模块化部件还包括以下的至少一个包含与所述文档相关联的脚注的脚注部件;包含与所述文档相关联的尾注的尾注部件;包含与所述文档相关联的页脚的页脚部件;包含与所述文档相关联的页眉的页眉部件;以及包含与所述文档相关联的参考书目数据和参考书目数据的底层数据中的至少一个的参考书目部分。
7.如权利要求4所述的文件格式,其特征在于,所述模块化部件还包括以下的至少一个包含定义与所述文档相关联的电子表格对象的数据的电子表格部件;包含与所述文档相关联的对象的嵌入对象部件;包含定义与所述文档相关联的字体的数据的字体部件;包含与所述文档相关联的对象的绘图对象部件,其中,所述绘图对象部件是使用绘图平台构建的;包含信封数据的邮件信封部件,其中,所述文档的用户经由电子邮件发送所述文档;包含与所述文档相关联的代码的代码文件部件,其中所述代码文件部件能经由外部链路被访问;以及包含与所述文档相关联的超链接的超链接部件,其中所述超链接部件包括统一资源定位器。
8.如权利要求7所述的文件格式,其特征在于,所述模块化部件中的至少一部分按照集合类型来组织,且其中,所述集合类型包括以下的至少一种包括所述代码文件部件的代码集合;包括所述绘图对象部件的图像集合;包括所述用户数据部件的数据集合;包括所述嵌入对象部件的嵌入集合;包括所述字体部件的字体集合;以及包括所述注释部件、所述脚注部件、所述尾注部件、所述页脚部件、所述页眉部件以及所述参考书目部件中的至少一个的注释集合。
9.如权利要求3所述的文件格式,其特征在于,与所述模块化部件相关联的关系类型包括以下的至少一种能够标识潜在有害代码文件的代码文件关系、用户数据关系、超链接关系、注释关系、嵌入对象关系、绘图对象关系、图像关系、邮件信封关系、文档属性关系、缩略图关系、词汇表关系、组块关系、以及电子表格关系。
10.如权利要求3所述的文件格式,其特征在于,所述文档的内容可以是以下的一种从所述文档中提取和复制,以及在不同的文档中重复使用。
11.如权利要求3所述的文件格式,其特征在于,每一个所述模块化部件都能够被单独锁定,同时其它模块化部件保持可锁定的状态,从而多个编者中的每一个都可并发地编辑所述文件格式的一个模块化部件。
12.如权利要求3所述的文件格式,其特征在于,当所述模块化部件被询问时,所述模块化部件能够提供有关所述文档内的内容的语义。
13.如权利要求3所述的文件格式,其特征在于,所述文件格式能够提供所述文档中每一个页面的高分辨率缩略图预览。
14.如权利要求1所述的文件格式,其特征在于,所述文件格式是根据标记语言格式和二进制格式中的至少一种来格式化的。
15.如权利要求1所述的文件格式,其特征在于,至少一个所述模块化部件包括内容类型,所述内容类型声明所述至少一个模块化部件的内容格式,从而对所述内容类型的查询标识了所查询的至少一个模块化部件的内容格式。
16.如权利要求15所述的文件格式,其特征在于,当所声明的内容格式不正确时,所述文字处理应用程序无法打开所述至少一个模块化部件。
17.一种用于以一种文件格式表示文档的方法,其中,与所述文档相关联的模块化部件包括被写入所述文件格式中的每一个部件,所述方法包括写所述文件格式的第一模块化部件;向所述文档查询要与逻辑上与所述第一模块化部件分离但通过一个或多个关系与所述第一模块化部件相关联的模块化部件相关联的关系类型;与所述第一模块化部件分离地写所述文件格式的第二模块化部件;以及建立所述第一模块化部件和所述第二模块化部件之间的关系;其中每个所述模块化部件都能被单独询问,而无需询问其它模块化部件。
18.如权利要求17所述的方法,其特征在于,还包括写与关系类型相关联的其它模块化部件,其中,要共享的所述其它模块化部件仅被写一次;以及建立与所写的其它模块化部件的关系。
19.如权利要求18所述的方法,其特征在于,写与关系类型相关联的其它模块化部件包括a)检查与所述文档相关联的数据;b)确定已检查的数据是否已被写到模块化部件中;c)当所述已检查的数据尚未被写到所述模块化部件中时,写所述模块化部件以包括所述已检查的数据;d)确定与所述文档相关联的其它数据是否已被检查;e)响应于确定所述其它数据尚未被检查,检查与所述文档相关联的其它数据;以及重复b)到e)。
20.一种包括计算机可读介质的计算机程序产品,所述计算机可读介质中存储了控制逻辑,用于使计算机以一种包含模块化部件的文件格式表示文档,其中,所述文件格式的模块化部件包括写入所述文件格式中的每一个部件,所述控制逻辑包括计算机可读程序代码,用于使所述计算机写所述文件格式的文档部件;向所述文档查询要与在逻辑上分离但通过一个或多个关系相关联的模块化部件相关联的关系类型;与所述文档部分分离地写所述文件格式的模块化部件;以及建立所述文档部件和所写的模块化部件之间的关系。
全文摘要
提供用于在模块化内容框架中表示文档的文件格式、方法和计算机程序产品。该模块化内容框架可包括与各模块化部件相关联的文件格式容器。文件格式包括逻辑上分离的模块化部件,它们由一个或多个关系相互关联,其中每一个模块化部件都与一种关系类型相关联。模块化部件包括操作用为文档属性向导的文档部件。模块化部件还可包括包含与文件格式相关联的内建属性的文档属性部件、以及包含相关联的缩略图的缩略图部件。每一个模块化部件都能够单独被询问,从文档中提取,和/或在不同文档中重复使用。
文档编号G06F17/30GK1794225SQ200510125059
公开日2006年6月28日 申请日期2005年11月18日 优先权日2004年12月20日
发明者B·琼斯, R·利特尔, A·毕晓普 申请人:微软公司