CN1799046A - 用于文档处理的方法和装置 - Google Patents
用于文档处理的方法和装置 Download PDFInfo
- Publication number
- CN1799046A CN1799046A CNA2004800013129A CN200480001312A CN1799046A CN 1799046 A CN1799046 A CN 1799046A CN A2004800013129 A CNA2004800013129 A CN A2004800013129A CN 200480001312 A CN200480001312 A CN 200480001312A CN 1799046 A CN1799046 A CN 1799046A
- Authority
- CN
- China
- Prior art keywords
- document
- content
- characteristic
- xml
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/197—Version control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
Abstract
描述了模块化内容框架和文档格式的方法和系统。所述框架和格式定义用于组成、封装、分发、以及描绘以文档为中心的内容的一组基块。这些基块定义对能使软件和硬件系统可靠并一致地产生、交换、以及显示文档的文档格式的一个平台无关框架。已以灵活和可扩展的方式设计了该框架和格式。除了该一般框架和格式以外,还使用该一般框架定义了一称为可及包格式的特定格式。可及包格式是一种用于存储分页文档的格式。在广泛环境的装置和应用程序上以及广泛的情形中,可全保真地显示或打印可及包的内容。
Description
技术领域
本发明涉及内容框架、文档格式、以及可利用两者的相关方法和系统。
背景技术
目前,通常有许多不同类型的用以表示内容的内容框架,以及许多不同类型的用以格式化不同类型文档的文档格式。每一种这些框架和格式往往需要它自己的相关联软件,以便建立、产生、处理或消费相关联文档。对于那些具有安装在适当装置上的特定相关联软件的人,建立、产生、处理或消费相关联文档并不成问题。但是对于那些不具有适当软件的人,通常建立、产生、处理或消费相关联文档就不可能了。
基于此背景,需要持续关注普遍存在的文档的产生和消费。
发明内容
描述了模块化内容框架和文档格式的方法和系统。所述框架和格式定义用于组成、封装、分发、以及描绘以文档为中心的内容的一组基块。这些基块定义能使软件和硬件系统可靠并一致地产生、交换、以及显示文档的文档格式的一个平台无关框架。已以灵活和可扩展的方式设计了该框架和格式。
除了该一般框架和格式以外,还使用该一般框架定义了一称为可及包(reachpackage)格式的特定格式。可及包是一种用于存储分页文档的格式。在广泛环境的装置和应用程序上以及广泛的情形中,可全保真地显示或打印可及包的内容。
附图说明
图1是根据一实施例示例性框架和格式的组件的框图。
图2是根据一实施例持有一包括若干部分的文档的示例性包的框图;
图3是根据一实施例示出产生包的示例性写入器,以及读取包的读取器的框图。
图4示出将三个独立页面绑定在一起的示例部分。
图5是根据一实施例示出被安排产生包含英语表示和法语表示的财务报告的示例性选择器和各个序列的示图。
图6根据一实施例示出了写入器和读取器一起工作进行有关包的通信的某些
实施例。
图7示出了文档的交叉多个部分的示例。
图8和9示出了封装如图7所示文档的多个部分的不同示例。
图10根据一实施例示出了一示例性可及包,以及可组成包或在包中找到的每一个有效类型部分。
图11根据一实施例示出了公共语言运行时概念到XML的示例性映射。
图12根据一实施例示出了竖直和侧面的字形度量。
图13根据一实施例示出了一对一的集聚图。
图14根据一实施例示出了多对一的集聚图。
图15根据一实施例示出了一对多的集聚图。
图16根据一实施例示出了多对多的集聚图。
具体实施方式
纵览
本文档描述了模块化内容框架和文档格式。该框架和格式定义用于组成、封装、分发、以及描绘以文档为中心的内容的一组基块。这些基块定义能使软件和硬件系统可靠并一致地产生、交换、以及显示文档的文档格式的一个平台无关框架。已以灵活和可扩展的方式设计了该框架和格式。在各个实施例中,对可包括的内容类型、如何呈现内容、或者在其上建立用于处理内容的客户机平台都没有限制。
除了该一般框架和格式以外,还使用该一般框架定义了一特定格式。该格式在本文档中被称为可及包格式,并且是一种用于存储分页或预先分页文档的格式。在广泛环境中的装置和应用程序上以及广泛的情形中,可全保真地显示或打印可及包的内容。
以下所述框架的目标之一是确保根据以下所述框架和格式读取或编写产生的内容的独立编写的软件和硬件系统之间的可互操作性。为了获取该可互操作性,所述格式定义了读取或编写内容系统必须满足的正式要求。
以下讨论随以下文字构成,并呈现为两个主要章节-标题为“框架”的和标题为“可及包格式”的章节。
标题为“框架”的章节呈现了一说明性封装模型,并描述了组成框架包的各个部分和关系。讨论了有关使用框架包中描述性元数据的信息,以及映射到物理容件、扩展框架标记、以及使用框架版本化机制的过程。
标题为“可及包格式”的章节研究了称为可及包的一特定类型框架建立包的结构。该章节还描述了专用于固定有效载荷的包的各部分,并定义了可及包标记模型和绘制模型。该章节以示例性可达标记元素及其属性,以及说明性样本结束。
作为以下讨论的高级纵览,考虑图1,其中通常在100示出发明框架和格式的各方面。该框架的某些示例性组件在102示出,而可及包格式的某些组件在104示出。
框架102包括示例性组件,它们包括但不限于,关系组件、可插拔容件组件、交叉/流组件、以及版本化/可扩展性组件,它们的每一个都在下面详细描述。可及包格式104包括各组件,包括选择器/序列器组件和包标记定义组件。
在以下讨论中,要不时参照图1,从而读取器可保持对所述组件在何处适于框架和包格式的观察。
框架
在以下讨论中,提供了对一般框架的描述。主要的独立子标题包括“包模型”、“组成部分:选择器和序列器”、“描述性元数据”、“物理模型”、“物理映射”、以及“版本化和可扩展性”。每个主要子标题都具有一个或多个子标题。
包模型
本小节描述包模型,并包括描述包和部分、驱动器、关系、包关系以及开始部分的子标题。
包和部分
在所示和所述模型中,内容被保持在包中。包是持有相关部分集合的逻辑实体。包的目的是把文档的所有段(或其它类内容)收集成编程者和终端用户容易工作的一个对象。例如,参看图2,其中示出了持有一文档的示例性包200,该文档包括多个部分:表示该文档的XML标记部分202、描述在文档中使用的字体的字体部分204、描述该文档页面的众多页面部分206、以及表示文档中图片的图片部分。表示文档的XML标记部分202的好处在于,因为它无需解析包的整体内容就允许可简便搜索和引用。这将在下面变得更为显然。
在本文档中,介绍并讨论了读取器(也称为消费者)和写入器(也称为生产者)的概念。作为在本文档中使用的术语,读取器指读取模块化内容的基于格式文件或包的实体。作为在本文档中使用的术语,写入器指编写模块化内容的基于格式的文件或包的实体。作为示例,参照图3,其中示出了产生包的写入器和读取包的读取器。通常,写入器和读取器将体现为软件。在至少一实施例中,与创建和格式化包相关联的许多处理成本和复杂性被置于写入器之上。这从读取器处移除了许多处理成本和复杂性,本领域技术人员将理解这背离了许多当前模型。该方面将在下面变得显然。
根据至少一实施例,单个包包含在该包中持有内容的一个或多个表示。通常包将是单个文件,在本申请中称为容件。例如这给予终端用户用该文档的所有组件(图像、字体、数据等等)分发文档的一方便方法。尽管包常常直接对应于单个文件,并非总是必须这样。包是可用各种方法物理表示的逻辑实体(例如,但非限制,单个文件、松散文件集合、数据库、短暂地在网络连接上传送等)。因而,容件持有包,但并非所有的包都存储在容件中。
抽象模型描述了独立于任何物理存储机制的包。例如,抽象模型不指向“文件”、“流”、或与包所处物理世界相关的其它物理术语。如下所述,抽象模型使用户能创建用于各种物理格式、通信协议等的驱动器。类似地,当一应用程序想要打印图像时,它使用打印机的抽象(由懂得特定类型打印机的驱动器代表)。因而,应用程序无需知道特定的打印装置,或如何与打印装置通信。
容件提供在松散、不连贯文件上的许多优点。例如,类似组件可集聚,而内容可被索引和压缩。另外,可标识组件之间的关系,且可将版权管理、数字签名、加密、以及元数据应用到组件中。当然,容件可被使用,且可包括未如上具体列举的其它特征。
公共部分属性
在所示和所述实施例中,一个部分包括公共属性(例如名称)和字节流。这类似于文件流中的文件,或者HTTP服务器上的资源。除了其内容之外,每个部分都具有一些公共部分属性。它们包括名称-该部分名称,以及内容类型-存储在该部分中内容的类型。各个部分还可具有一个或多个相关联的关系,如下所述。
当需要用某些方式引用一个部分的任何时候,使用部分名称。在所示和所述实施例中,名称被组织成一分层结构,类似于文件系统上的路径或URI中的路径。以下是部分名称的示例:
/document.xml
/tickets/ticket.
/images/march/summer.jpeg
/pages/page4.xml
如上可见,在该实施例中,部分名称具有以下特征:
●部分名称类似于传统文件系统中的文件名;
●部分名称以前斜杠(‘/’)开始。
●类似于文件系统中的路径或URI中的路径,部分名称可由一组类似目录的名称(上例中的tickets、images/march和pages)组织成一分层结构。
●该分层结构由斜杠划分的分段组成。
●名称的最后分段类似于传统文件系统中的文件名。
重要的是,注意用于命名部分的规则,尤其是用于部分名称的有效字符,对于本文中所述框架是特定的。这些部分名称基于因特网标准URI命名规则。根据本实施例,本实施例中用于指定部分名称的语法与在统一资源标识符(URI:一般语法)规范RFC2396的章节3.3(路径组件)和5(相关URI引用)中定义的abs path语法严格匹配。
以下附加限制被应用于abs path,作为有效的部分名称:
●如在章节3(URI语法组件)和3.4(查询组件)中定义的查询组件,不可应用于部分名称。
●如在章节4.1(片断标识符)中描述的片断标识符,不能应用于部分名称。
●任何部分具有通过将*附加(“/”分段)于现有部分的部分名称而创建的名称,都是无效的。
用于部分名称的语法如下所示:
part_name ="/"segment*("/"segment)
segment =*pchar
pchar =unreserved|escaped|
":"|"@"|"&"|"="|"+"|"$"|","
unreserved =alphanum|mark
escaped ="%"hex hex
hex =digit|"A"|"B"|"C"|"D"|"E"|"F"|
"a"|"b"|"c"|"d"|"e"|"f"
mark ="-"|"-"|"."|"!"|"-"|"*"|"′"|"("|")"
alpha =lowalpha|upalpha
lowalpha ="a"|"b"|"c"|"d"|"e"|"f"|"g"|"h"|"i″|
"j″|"k"|"l"|"m"|"n"|"o"|"p"|"q"|″r"|
"s"|"t"|"u"|"v"|"w"|"x"|"y"|"z"
upalpha ="A″|"B"|"C"|"D"|"E"|"F"|"G"|"H"|"I"|
"J"|"K"|"L"|"M"|"N"|"O"|"P"|"Q"|"R"|
"S"|"T"|"U"|"V"|"W"|"X"|"Y"|"Z"|
digit ="0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|
"8"|"9"
alphanum =alpha|digit
可观察到包中所有部分的名称分段可形成一树。这类似于文件系统中所发生的情况,其中树上所有非叶节点是文件夹,而叶节点是包含内容的真正文件。名称树上这些类似文件夹的节点(即非叶节点)提供组织包中各部分的类似功能。然而,重要的是,要记住这些“文件夹”仅作为概念存在于命名分层结构中-它们在一致格式中没有其它表现。
部分名称不驻留于“文件夹”层上。具体地,部分命名分层结构中的非叶节点(“文件夹”)不能包含一个部分,以及带有同一名称的子文件夹。
在所示和所述实施例中,每一部分都具有标识在该部分中所存储的是哪一类内容的内容类型。内容类型的示例包括:
image/jpeg
text/xml
text/plain;charset=“us-ascii”
在所示框架中使用的内容类型如RFC2045(多用途因特网邮件扩展;(MIME))中所定义。具体地,每个内容类型包括介质类型(例如文本)、子类型(例如纯文本)、以及键=值形式(例如charset=“us-ascii”)中可选的参数组;多个参数由分号分隔。
部分寻址
部分常常将包含对其它部分的引用。作为一简单示例,想像一容件具有两部分:标记文件和图像。标记文件想要持有对图像的引用,从而在处理标记文件时,可标识和定位相关联的图像。内容类型和XML模式的设计者可使用URI来表示这些引用。为了使其成为可能,要对部分名称世界和URI世界之间的映射进行定义。
为了能够使用包中的URI,在估算基于包的内容中的URI时,必须使用特定的URI解释规则:包本身应视为URI引用的“授权”,而URI路径组件被用以导航包中的部分名称分层结构。
例如,给定一包的URI:
http://www.example.com/foo/something.package,对/abc/bar.xml的引用被解释为意指称为/abc/bar.xml的部分,而不是http://www.example.com/abc/bar.xml的URI。
当在容件中必须具有从一部分到另一部分的引用时,应当使用相对URI。使用相对引用使容件的内容能被一起传送到一不同容件中(或从例如文件系统移到容件中),而不更改部分之间的引用。
来自一部分的相对引用被解释为相对于包含该引用部分的“基本URI”。缺省地,一部分的基本URI是该部分的名称。
考虑包括具有以下名称的各部分的一容件:
/markup/page.xml
/images/picture.jpeg
/images/other_picture.jpeg
如果“/markup/page.xml”部分包含对“../images/picture.jpeg”的URI引用,则根据以上规则该引用必须被解释为指部分名称“/images/picture.jpeg”。
某些内容类型提供通过在内容中指定不同的基取代缺省基URI的方法。在出现这些取代之一的情况应使用直接指定的URI,而不是缺省的。
有时,在一部分中将一段或一特定点“标明地址”是有用的。在URI世界中,使用片断标识符[参见例如RFC2396]。在一容件中,该机制也同样地起作用。具体地,片断是包含在经地址标明部分的内容类型上下文中可理解的附加信息的字符串。例如,在视频文件中片断可标识一帧,在XML文件中它可通过xpath标识该XML文件的一部分。
结合标明一个部分的地址的URI使用片断标识符,以便标识该经地址标明部分的片断。该片断标识符是可选的,且由“#”字符将其与URI分隔。这样,它就不是URI的一部分,但常结合URI一起使用。
以下讨论提供用于部分命名的某些指导,因为该包和部分的命名模型是很灵活的。这种灵活性允许框架包的广泛应用。然而,重要的是要理解,框架被设计成使能多个无关软件系统可相互不冲突地操纵包的“自己”部分。为了允许这样,以下提供了使其可能的某些方针。
此处给出的方针描述了一种机制,它用于最小化或至少减少部分的命名冲突的发生,并在冲突发生时处理它们。在包中创建一包中各部分的写入器必须采取步骤,以检测和处理包中现有部分的命名冲突。在命名冲突产生时,写入器不可盲目地替换现有部分。
在包确保由单个写入器操纵的情形中,该写入器可背离这些方针。然而,如果有多个独立写入器共享一包的可能性,则所有写入器必须遵循这些方针。然而,建议所有写入器在任何情形中都遵循这些方针。
●要求将一些部分加入到现有容件的写入器在命名分层结构的新“文件夹”中这样做,而不是直接将这些部分置于根或先前存在的文件夹中。这样,名字冲突的可能性被限于该部分名字的第一分段中。在该新文件夹中创建的部分可没有与现有部分冲突的风险而被命名。
●当文件夹的“优选”名称已由现有部分使用,写入器必须采用某些用于选择另外文件夹名称的策略。写入器应使用将数字附加于优选名称,直到找到一可用文件夹名称的策略(可能在若干次不成功迭代后会求助于GUID)。
●该政策的一个结果是读取器不应尝试通过一“魔法”或“众所周知”的部分名称来查找一个部分。相反,写入器必须创建与他们所创建的每个文件夹中至少一个部分的包关系。读取器必须使用这些包关系来查找这些部分,而不依赖于众所周知的名称。
●一旦读取器已找到文件夹中的至少一个部分(通过上述包关系之一),它可使用该文件夹中有关众所周知部分名称的惯例来找到其它部分。
驱动器
在此所述的文件格式可由不同应用程序、不同文档类型等使用-其中许多具有冲突的使用、冲突格式等。使用一个或多个驱动器来消解各种冲突,诸如文件格式中的不同、通信协议中的不同等。例如,不同文件格式包括松散文件和复合文件,而不同通信协议包括http、网络、以及无线协议。一组驱动器将各种文件格式和通信协议抽象为单个模型。可为不同情景、不同客户要求、不同物理配置等提供多个驱动器。
关系
包中的各部分可包含对该包中其它部分的引用。然而,一般而言,这些引用用对该部分的内容类型的特定方式在引用部分中来表示;即,以任意的标记或应用程序特定编码。对于来自不懂得包含这种引用的部分的内容类型的读取器的各部分,这有效地隐藏了它们之间的内部链接。
甚至对于公共内容类型(诸如在可及包章节中所述的固定有效载荷标记),读取器应需要解析该部分的所有内容,以发现并确定对其它部分的引用。例如,在实现一次打印一页文档的打印系统时,可能需要标识该特定页面中包含的图片和字体。现有系统必须解析每页的所有信息(这是耗时的),并必须懂得每页的语言(这并非是某些装置或读取器的情形,例如当通过到装置途中的处理器管线时执行对文档的中间处理的装置)。相反,在此所述的系统和方法使用关系来标识各部分之间的关系,并描述这些关系的本质。该关系语言是简单并一次定义的,从而读取器无需多种不同语言的知识就可理解这些关系。在一实施例中,用XML将关系表示为单个部分。每个部分具有包含该部分为源的关系的相关联关系部分。
例如,电子制表应用程序使用该格式并将不同的电子表格存储为各部分。对电子制表语言一无所知的应用程序仍可发现与这些电子表格相关联的各种关系。例如,应用程序可发现电子表格中的图像和与电子表格相关联的元数据。提供一示例关系模式如下:
<?xml version="1.0"?>
<xsd:schema xmlns:mmcfrels="http://mmcfrels-PLACEHOLDER"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:attribute name="Target"type="xsd:string"/>
<xsd:attribute name="Name"type="xsd:string"/>
<xsd:element name="Relationships">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Relationship"minOccurs="0"maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Relationship">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="Target"/>
<xsd:attribute ref="Name"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:schema>
该模式定义了两种XML元素,一称为“多重关系”而另一称为“关系”。使用该“关系”元素来描述在此所述的单一关系,并具有以下属性:(1)“目标”,表示与源部分相关的部分,(2)“名称”,表示该关系的类型或本质。定义“多重关系”元素以使其能持有零个或多个“关系”元素,并仅提供将这些“关系”元素收集到一单元中的服务。
在此所述的系统和方法引入了一种解决这些问题的称为“多重关系”的高级机制。多重关系提供了一种表示包中源部分和目标部分之间连接类型的附加方法。无需查看各部分中的内容,多重关系就使得各部分之间的连接可被直接发现,从而它们不依赖于内容特定模式并得以更快地确定。另外,这些多重关系是协议无关的。各种不同关系可与一特定部分相关联。
多重关系提供第二种重要功能:允许各部分不经更改而互相关联。有时这种信息作为“注解”的形式,其中“经注解”部分的内容类型没有定义附加给定信息的方法。可能的示例包括附加描述性元数据、打印标签、以及真正注解。最后,某些情景不需要特别更改一现有部分,就能将信息具体地附加到该部分-例如,当该部分已加密并不能解密时,或者当该部分被数字签名而更改将使签名无效时。在另一示例中,用户可能想要将注解添加到JPEG图像文件中。该JPEG图像格式目前并不提供对标识注解的支持。改变JPEG格式以适应该用户的需要并不现实。然而,在此所述的系统和方法使用户无需更改JPEG图像格式就能向JPEG文件提供一注解。
在一实施例中,使用XML在关系部分标识各关系。容件中每个部分是具有一相关联关系部分的一个或多个关系的源。该关系部分持有(使用内容类型应用程序/占位符(Application/PLACEHOLDER)以XML表达)该源部分的关系列表。
以下的图4示出了在其中“书脊”部分402(类似于固定板)将三个页面406、408和410绑定在一起的环境400。由书脊绑定在一起的页面组具有相关联的“打印标签”404。另外,页面2具有它自己的打印标签412。使用关系来表示从书脊部分402到其打印标签404的连接,以及从页面2到其打印标签412的连接。在图4的排列中,书脊部分402将具有包含将书脊连接到标签1的关系的相关联关系部分,如下例所示。
<Relationships xmlns=”http://mmcfrels-PLACEHOLDER”>
<Relationship
Target=”../tickets/ticket1.xml”
Name=”http://mmcf-printing-ticket/PLACEHOLDER”/>
</Relationships>
使用嵌套于单个<Relationships>元素中的<Relationship>元素来表示各关系。这些元素在
http://mmcfrels(占位符)名空间中定义。示例关系参见以上的示例模式及相关讨论。
关系元素具有以下附加属性:
属性 | 要求 | 含义 |
目标 | 是 | 指向关系另一端部分的URI。相关URI必须被解释为与源部分相关。 |
名称 | 是 | 唯一定义关系角色或目的的绝对URI |
名称属性不必是实际的地址。不同的关系类型根据其名字来标识。用为XML名空间定义名空间的相同方法来定义这些名称。具体地,通过使用在因特网领域名空间之后进行模式化的名字,不经协调的各部分可安全地创建不冲突的关系名字-就像对XML名空间它们也可以一样。
该关系部分不被允许参与其它关系。然而,它是所有其它意义上的第一类部分(例如,它是URL可寻址的、它可被打开、读取、删除等等)。通常关系并不指向包外的东西。用来标识关系目标的URI通常不包括URI模式。
一个部分及其相关联的关系部分通过命名惯例来连接。在此例中,书脊的关系部分将被存储在/content/_rels/spine.xml.rels中,而页面2的关系将被存储在/content/rels/p2.xml.rels中。注意在此使用的两个特定命名惯例。首先,用于命名分层结构中给定“文件夹”中某些部分的关系部分被存储在称为rels的“子文件夹”中(以标识关系)。其次,通过将.rels扩展附加到原始部分的名字上,形成该关系保持部分的名字。在特定实施例中,关系部分具有内容类型应用程序/xml+关系占位符。
关系表示两部分之间的有向连接。由于表示该关系的方法,从其源部分遍历各关系是有效的(因为找到任何给定部分的关系部分是琐碎的)。然而,从该关系的目标反向遍历关系就不太有效了(因为寻找该部分所有关系的方法是通过该容件中的所有关系查看)。
为了使反向遍历关系称为可能,使用新的关系来表示其它(可遍历)方向。这是关系类型设计者可使用的建模技术。接着以上示例,如果能够找到具有附加标签1的书脊是重要的,则使用连接从标签到书脊的第二关系,诸如:
在content/_rels/p1.xml.rels中:
In content/_rel.s/p1.xml.rels:
<Relationships xmlns=”http://mmcfrels-PLACEHOLDER”>
<Relationship
Target=”/content/spine.xml”
Name=”http://mmcf-printing-spine/PLACEHOLDER”/>
</Relationships>
包关系
“包关系”被用以寻找包中众所周知的部分。该方法避免依赖于寻找包中部分的命名惯例,并确保不会有不同有效载荷中同一部分名称之间的冲突。
包关系是其目标为一部分而其源却不是一部分(源是整个的包)的特定关系。要具有“众所周知”部分是真正地具有帮助你找出该部分的“众所周知”的关系名字。这会起作用,因为有一明确定义的机制使关系能由非协调各部分命名,而某些实施例对部分名字则不包含这种机制-这些实施例受限于一组方针。包关系在包关系部分中被发现,并使用标准命名常规命名用于关系部分。因而,它被命名为“/_rels/.rels”。
在此包关系部分中的关系在寻找众所周知的部分中是有用的。
开始部分
包层次、众所周知部分的一示例是包“开始”部分。这是通常在打开包时所处理的部分。它表示存储在该包中文档内容的逻辑根。由一众所周知的包关系,可定位包的开始部分。在所示示例中,该关系具有以下名称:http://mmcf-start-part-PLACEHOLDER。
组成部分:选择器和序列
所述框架定义了用于从部分:选择器和序列而建立高阶结构的两种机制。
选择器是在众多其它部分之间进行“选择”的一个部分。例如,选择器部分可在表示一文档英语版本的部分和表示一文档法语版本的部分之间选择。序列则是可对众多其它部分进行“排序”的一个部分。例如,序列部分可组合两个部分(成为线性序列),其中之一表示五页文档而另一部分则表示十页文档。
这两种组合部分(序列和选择器)以及用于组装它们的规则组成了一组合模型。组合部分可构成其它组合部分,因此可具有例如在两个组合之间进行选择的选择器。作为示例,考虑图5,其中示出了包含英语表示和法语表示的财务报告示例。每一表示还由绪论(封面)及随后的财务报表(电子表格)组成。在此例中,选择器500在报告的英语和法语表示之间选择。如果选择了英语表示,序列502对英语绪论部分506和英语财务报表部分508进行排序。另外,如果选择了法语表示,序列504对法语绪论部分510和法语财务报表部分512进行排序。
组合部分XML
在所示和所述实施例中,使用少量XML元素描述组合部分,这些元素都是从公共组合名空间中提取的。作为示例,考虑以下:
Element:<selection>
Attributes:None
Allowed Child Elements:<item>
Element:<sequence>
Attributes:None
Allowed Child Elements:<item>
Element:<item>
Attributes:Target-thepart name ofa part in the composition
作为示例,这里是以上图5示例的XML:
MainDocument.XML
<selection>
<item target="EnglishRollup.xml"/>
<item target="FrenchRollup.xml"/>
</selection>
EnglishRollup.XML
<sequence>
<item target="EnglishIntroduction.xml″/>
<item target="EnglishFinancials.xml"/>
</sequence>
FrenchRollup.XML
<sequence>
<item target="FrenchIntroduction.xml">
<item target="FrenchFinancials.xml">
</sequence>
在该XML中,MainDocument.xml表示该包中的整个部分,并依靠“选择”标记指示要在由“条目”标记(即“EnglishRollup.xml”和“FrenchRollup.xml”)封装的不同条目之间作出选择。
EnglishRollup.xml和FrenchRollup.xml是依靠“选择”标记使由其相应“条目”标记封装的相应条目在一起排序的序列。
因而,提供了简单的XML语法用于描述选择器和序列。该组合块中的每个部分被建立,并执行一操作-选择或排序。通过使用各部分的分层结构,可建立选择和序列的不同稳固集合。
组合块
包的组合块包括从该包开始部分可达的所有组合部分(选择器或序列)的集合。如果该包的开始部分既非选择器也不是序列,则组合块可视为空。如果开始部分是组合部分,在该组合部分中的子<item>(<条目>)被迭代地遍历,以产生组合部分的有向、非循环图(当遇到一非组合部分时停止遍历)。该图是组合块(且根据该实施例,为使该包有效它必须是非循环的)。
确定组合语义
已如上建立了相对简单的XML语法,以下讨论描述表示信息从而可基于内容类型作出选择的方法。即,上述XML提供足够信息以使读取器能定位一起组装成组合的各部分,但并不提供足够信息来帮助读取器知道更多有关该组合的本质。例如,给定包括两部分的一选择,读取器怎么知道作出选择是基于什么呢(例如语言、纸张尺寸等)?答案是这些规则与组合部分的内容类型相关联。因而,基于语言在各表示之间选取的选择器部分与基于纸张尺寸在各表示之间选取的选择器部分将具有不同的相关联内容类型。
一般框架定义了这些内容类型的一般形式:
Application/XML+Selector-SOMETHING
Application/XML+Sequence-SOMETHING
这些内容类型中的SOMETHING由表示选择或序列本质的字替换,例如页面尺寸、色彩、语言、读取器装置上的驻留软件等等。然后,在该框架中,可创造出所有类型的选择器和序列,并每个可具有极为不同的语义。
所述框架还定义以下众所周知的内容类型,用于所有读取器或读取装置必须懂得的选择器和序列。
内容类型 | 规则 |
Application/XML+Selector+SupportedContentType | 基于条目的内容类型在各条目之间选取。为懂得给定内容类型的可用软件,选择第一条目。 |
作为示例,考虑以下内容。假设一包包含具有一页的文档,且在该页中间有一要显现视频的区域。在此例中,该页的视频部分可包括Quichtime视频形式的视频。这种情形的一个问题是并非普遍都懂得Quicktime视频。然而,假设根据该框架尤其是以下所述的可及包格式,有一普遍理解的图像格式-JPEG。当产生包含上述文档的包时,生产者可在将视频定义为该包一部分之外,为该页定义JPEG图像并放入一SupportedContentType选择器,从而如果用户的计算机具有懂得Quicktime视频的软件,选择Quicktime视频,否则选择JPEG图像。
因而,如上所述,框架层的选择器和序列组件允许建立在此例中用XML定义的稳固分层结构。另外,有使用内容类型以标识选择器和序列行为的明确定义的方法。此外,根据一实施例,一般框架包括一预先定义的特定内容类型,它允许基于什么是消费者(例如读取器或读取装置)懂得的和不懂得的来处理和利用包。
可使用类似规则来定义其它组合部分的内容类型,其示例如下所述。
描述性元数据
根据一实施例,描述性元数据部分给包的写入器或生产者提供一种用以存储属性值的方法,其中属性使这些包的读取器能可靠地发现这些值。通常使用这些属性来记录有关整个包的附加信息、以及该容件中的各个部分。例如,包中的描述性元数据可持有信息,诸如该包的作者、关键字、归纳等。
在所示和所述实施例中,说明性元数据用XML来表达,用众所周知的内容类型存储在各部分中,并能使用众所周知的关系类型来发现。
描述性元数据持有元数据属性。元数据属性由属性名称以及一个或多个属性值来表示。属性值具有简单的数据类型,因而每个数据类型由单个XML名称来描述。描述性元数据属性具有简单类型的事实并非意味着不能在包中用复杂的XML类型来存储数据。在此情形中,必须将信息存储作为全XML部分。在完成之后,移除有关仅使用简单类型的所有限制,但丢失了“单调”描述性元数据的简单性。
除了用于定义属性集的一般机制,有使用该机制存储的一特定的、明确定义的文档内核属性集。这些文档内核属性通常被用来描述文档,并包括类似标题、关键字、作者等的属性。
最后,持有这些文档内核属性的元数据部分也可持有附加的定制属性,以及文档内核属性。
元数据格式
根据一实施例,描述性元数据部分具有内容类型,并根据以下规则由关系将其作为目标:
描述性元数据发现规则 | 使用定制属性 | 使用文档内核属性 |
描述性元数据的内容类型必须是: | Application/xml-SimpleTypeProperties-PLACEHOLDER | |
可具有以描述性元数据部分为目标的关系的源部分内容类型可以是: | 任意 | 任意 |
以描述性元数据部分为目标的关系名称可以是: | *定制的Uri-名空间* | http://mmcf-DocumentCore-PLACEHOLDER |
可附加于源部分上的众多描述性元数据部分可以是: | 无限制的 | 0或1 |
可具有相同所附描述性元数据部分的众多源部分必须是: | 无限制的 | 无限制的 |
根据一实施例使用以下XML模式来表示描述性元数据。有关标记每个组件的细节在例子之后的表格中给出。
<mcs:properties xmlns:mcs="http://mmcf-core-services/PLACEHOLDER"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<mcs:property prns:name="property name"xmlns:prns="property namespace"
mcs:type="datatype"
mcs:multivalued="true|false">
<mcs:value>_value_</mcs:value>
</mcs:property></mcs:properties>
标记组件 | 描述 |
xmlns:mcs=“http://mmcf-common-services/PLACEHOLDER” | 定义MMCF共同服务名空间 |
xmlns:xsd=“http://www/w3.org/2001/XMLSchema” | 定义XML模式名空间。许多定制属性和大部分文档内核属性将具有内置的使用XSD定义的数据类型。尽管每个属性可具有其自己的名空间,XSD名空间被置于描述性元数据XML的根之上。 |
mcs:properties | 描述性元数据XML的根元素 |
mcs:property | 属性元素。属性元素持有属性名称和值。可有无限多的属性元素。属性元素被视为根元素的直接子元素。 |
xmlns:prns | 属性名空间:对于文档内核属性它是http://mmcf-DocumentCore-PLACEHOLDER。对于定制属性,它将是定制名空间。 |
prns:name | 属性名称:持有属性名字的字符串属性 |
mcs:type=“datatype” | 类型是持有属性数据类型定义的字符串属性,例如xsd:string。 |
mcs:value | 该组件指定了属性的值。值元素是属性元素的直接子元素,如果mcs:multivalued=“真”,则可以有无限多的值元素。 |
文档内核属性
以下是文档内核属性的表格,其中包括属性名称、属性类型以及描述。
名称 | 类型 | 描述 |
Comments | 字符串,可选,单值 | 作者包括的对整个文档的评论。这可以是文档的归纳。 |
Copyright | 字符串,可选,单值 | 本文档的版权字符串 |
EditingTime | 64字节整数,可选,单值 | 编辑该文档所花时间(以秒计)。通过应用程序逻辑设置。该值必须具有适当类型。 |
IsCurrentVersion | 布尔值,可选,单值 | 指示该实例是否是该文档的当前版本,或是过时版本。该字段可从VersionHistory中导出,但推导过程可能是昂贵的。 |
Language | 关键字(=256字节字符串),可选,多值 | 文档的语言(英语、法语等)。该字段可由应用程序逻辑设置。 |
RevisionNumber | 字符串,可选,单值 | 文档的修订 |
Subtitle | 字符串,可选,单值 | 文档的副标题或解释性标题 |
TextDataProperties | 文本数据属性,可选,单值字符计数64字节整数行计数64字节整数页面计数64字节整数段落计数64字节整数字计数64字节整数 | 如果该文档具有文本,该属性定义文档的文本属性集,诸如段落计数、行计数等。 |
TimeLastEdited | 日期时间,可选,单值 | 该文档最近打印时的日期和时间 |
Title | 字符串,可选,单值 | 文档标题,由处理该文档的应用程序所理 |
解。它不同于包含包的文件名称。 | ||
TitleSortOrder | 字符串,可选,单值 | 文档的排序顺序(例如“The Beatles”将具有排序顺序“Beatles”,没有起始的“The”)。 |
ContentType | 关键字(=256字节字符串),可选,多值 | 由应用程序逻辑设置的文档类型。存储在此的类型应当是经标识的“模拟类型”。该属性可用于分类或搜索某些类型的文档。 |
物理模型
物理模型定义由写入器和读取器使用的各种方法。该模型基于三个组件:写入器、读取器、以及它们之间的管道。图6示出了写入器和读取器一起工作进行有关包的通信的某些示例。
该管道携带从写入器到读取器的数据。在许多情形中,管道可仅包括读取器所作从本地文件系统中读取包的API调用。这被称为直接访问。
然而,写入器和读取器常常必须在某些类型的协议上互相通信。该通信在例如过程边界上或服务器和台式计算机之间进行。这被称为网络化访问,并且因为管道的通信特征(具体地,速度和请求等待时间)它是重要的。
为了使能最大的性能,物理包设计必须考虑三个重要区域中的支持:访问风格、布局风格以及通信风格。
访问风格
流消费
由于使用网络化访问的写入器和读取器之间的通信不是即时的,允许包的渐进创建和消费是重要的。特别地,根据本实施例,建议在包的所有比特通过管道传递之前,设计任意的物理包格式以使读取器能解释和处理它所接收的数据(例如各部分)。这种能力称为流消费。
流创建
当写入器开始创建包时,它并不总是知道将在该包中置入什么。作为示例,当应用程序开始建立打印排队文件包时,它可不知道需要在该包中置入多少页。作为另一示例,动态产生报告的服务器上程序不会知道该报告将有多长,或者该报告将有多少图片-直到它已完全生成了报告。为了使写入器能够喜欢这种情形,物理包应使写入器能够在已经添加了其它部分之后动态添加各部分(例如,在写入器开始写时无需声明它将创建多少部分)。此外,物理包应使写入器能在不知道一部分的最终长度就开始编写该部分的内容。加在一起,这些要求使能流创建。
同步创建和消费
在高度管线化架构中,对于一特定包流创建和流消费可同时发生。当设计一物理包时,支持流创建和支持流消费可将设计推向相反方向。然而,找到支持两者的设计常常是可能的。由于管线架构中的优点,建议物理包支持同步创建和消费。
布局类型
物理包持有各部分的集合。这些部分可以两种类型之一进行布局:简单排序以及交叉。对于简单排序,包中的各部分以确定风格的顺序布局。当包以纯线性方式进行传递时,从该包中的第一字节开始直到最后字节,第一部分的所有字节首先到达,然后是第二部分的所有字节等等。
对于交叉布局,多个部分的字节是交叉的,在某些情形中导致性能改善。大大获益于交叉的两种情形是多媒体回放(例如同时传递视频和音频),以及内嵌资源引用(例如在标记文件中间对图像的引用)。
通过由于组织交叉部分内容的的特定惯例来处理交叉。通过将各部分划分成片断并交叉这些片断,获取所需交叉结果是可能的,同时简便创建较大的原始部分也是可能的。为了理解交叉如何工作,图7示出了包括两个部分的简单示例:content.xml 702和image.jpeg 704。第一部分content.xml描述了页面的内容,而在该页中间是对应显现在该页上的图像(image.jpeg)的引用。
为了理解交叉有价值的原因,考虑将如何使用简单排序来在包中排列这些部分,如图8所示。处理该包(以及按序接收字节)的读取器将不能显示该图片,直至它已收到了所有content.xml部分以及image.jpeg。在某些情形中(例如小或简单的包,或者快速通信链接)这可能不是问题。在其它需要读取所有content.xml部分以获得图像的情形中(例如,如果content.xml非常大,或者通信链接非常缓慢),,将导致无法接受的性能或对读取器系统提出不合理的存储器需求。
为了获取更接近于理想的性能,最好能够划分content.xml部分并将image.jpeg插在中间(紧接着引用图片的地方)。这会使得读取器能更早地开始处理图像,:一旦它遇到引用,图像数据即随后而至。这会产生例如如图9所示的包布局。由于这些性能优点,常常希望物理包支持交叉。取决于所使用物理包的类型,可能支持或不支持交叉。不同的物理包可不同地处理交叉的内部表示。无论物理包如何处理交叉,重要的是,要记住交叉是发生在物理层上的优化,物理文件中被划分成多个片断的部分仍然是一个逻辑部分;片断本身并不是部分。
通信风格
写入器和读取器中间的通信可基于各部分的有序传递,或者通过对各部分的随机访问,使得它们能不按顺序地被访问。利用哪一种哪一种通信风格取决于管道和物理包格式的能力。一般而言,所有的管道支持有序传递。物理包必须支持有序传递。为了支持随机访问情形,所使用的管道和物理包都必须支持随机访问。某些管道基于可使能随机访问的协议(例如带有字节范围支持的HTTP1.1)。为了在使用这些管道时允许最大性能,建议物理包支持随机访问。如果缺少这种支持,读取器将会等待直到有序传递它们所需要的部分。
物理映射
逻辑包装模型定义一包的抽象;包的真正实例基于包的某些特定物理表示。包装模型可被映射到物理持续格式,以及各种传输(例如基于网络的协议)。物理包格式可被描述为从抽象包装模型的组件到特定物理格式的特征的映射。包装模型不指定应使用哪种物理包格式,用于归档、分发、或排队等候包。在一实施例,仅指定逻辑结构。包可由松散文件、.ZIP文件文档、复合文件、或某些其它格式的集合来进行“物理”体现。所选择的格式由作为目标的消费装置,或者装置的驱动器来支持。
被映射的组件
每个物理包格式定义用于以下组件的映射。某些组件是可选的,且特定的物理包格式可不支持这些可选组件。
组件 描述 必须或可选
部分 名称 命名一部分 必须
内容类型 标识存储在该部分中的那类内容 必须
部分内容 存储该部分的真实内容 必须
公共映射模式
访问风格 流消费 使读取器能在整个包到达之前开始处理 可选
各部分
流创建 使写入器能在不事先知道要写入的所有 可选
部分就能开始将各部分写入包中
同步创建和 使流创建和流消费能在同一包中同时发 可选
消费 生
布局风格 简单排序 在包中部分N的所有字节在部分N+1的 可选
所有字节之前出现
交叉 多个部分的字节交叉 可选
通信风格 有序传递 部分N的所有在部分N+1之前被传递给 可选
读取器
随机访问 读取器可请求一部分的传递不按顺序进 可选
行
存在有许多物理存储格式,它们的特征部分地与包装模型组件相匹配。在定义从包装模型到这种存储格式的映射中,可能需要利用包装模型与物理存储介质之间能力上的任何相似点,而使用映射层来提供并未固有地呈现于物理存储介质中的附加能力。例如,某些物理包格式可将各个部分存储为文件系统中的各个文件。在这种物理格式中,将许多部分名称直接映射到同一物理文件名称是自然而然的。使用不是有效的文件系统文件名称的字符的部分名称可能需要某种类型的转义机制。
在许多情形中,单个公共的映射问题可能由不同物理包格式的设计者来面对。公共映射问题的两个示例在将任意内容类型与各部分相关联时,以及支持交叉布局类型时产生。这些规范对那些共同映射问题提供共同的方案。鼓励,但不是要求特定物理包格式的设计者使用在此定义的公共映射方案。
标识各部分的内容类型
物理包格式映射定义一种用于对每个部分存储内容类型的机制。某些物理包格式具有一种用于呈现内容类型(例如MIME中的“内容类型”标题)的原有机制。对于这种物理包,建议映射使用原有机制来表示各部分的内容类型。对于其它物理包格式,使用某些其它机制来表示内容类型。用于表示这些包中内容类型的被建议机制是通过将特别命名的XML流包括在包中,称为类型流。该流不是一个部分,因而它本身不是URI可寻址的。然而,可使用用于交叉各部分的相同机制在物理包中进行交叉。
类型流包含带有顶层“类型”元素,以及一个或多个“缺省”和“取代”子元素的XML。“缺省”元素定义从部分名称扩展到内容类型的缺省映射。这得益于文件扩展常常对应于内容类型的事实。“取代”元素被用以指定各部分上缺省映射未涵盖或与之不一致的内容类型。包写入器可使用“缺省”元素来减少每部分“取代”元素的数量,但并不是必须这样做。
“缺省”元素具有以下属性:
名称 描述 必须
Extension扩展 部分名称扩展。“缺省”元素与其名称为以.+该属性值的任何部分相 是
匹配。
ContentTyp内容 内容类型如RFC2045所定义。表示任何匹配部分的内容类型(除非 是
类型 由“取代”元素取代,参见下面)。
“取代”元素具有以下属性:
名称 描述 必须
PartName部分 部分名称URI。“替代”元素与名称等于该属性值的部分相匹配。 是
名称
ContentTyp内容 内容类型如RFC2045所定义。表示匹配部分的内容类型。 是
类型
以下是包含在类型流中的一XML示例:
<Types xmlns="http://mmcfcontent-PLACEHOLDER">
<Default Extension="txt"ContentType="plain/text"/>
<Default Extension="jpeg"ContentType="image/jpeg"/>
<Default Extension="picture"ContentType="image/gif"/>
<Override PartName="/a/b/sample4.picture"
ContentType="image/jpeg"/>
</Types>
以下表格示出了各部分的示例清单,及其由以上类型流定义的对应的内容类型:
部件名称 内容类型
/a/b/sample1.txt plain/text
/a/b/sample2.jpeg image/jpeg
/a/b/sample3.picture image/gif
/a/b/sample4.picture image/jpeg
对于包中的每个部分,类型流包含(a)一匹配“缺省”元素,(b)一匹配“替代”元素,或者(c)一匹配“缺省”元素和一匹配“替代”元素(其中“替代”元素优先于“缺省”元素)。一般而言,对于任何给定扩展至多有一匹配“缺省”元素,对于任何给定部分名称至多有一匹配“替代”元素。
“缺省”元素和“替代”元素在类型流中的顺序并不重要。然而,在交叉包中,“缺省”和“替代”元素出现在物理包中它们相对应的各部分之前。
交叉
并非所有的物理包都固有地支持各部分数据流的交叉。在一实施例中,对任何这种物理包的映射都使用本章节中所述的一般机制以允许各部分的交叉。一般机制通过将一部分的数据流划分成多个片断,然后这些片断可与其它部分或整个部分的其它片断进行交叉,而进行工作。一部分的单个片断在物理映射中存在,而在逻辑包装模型中不可寻址。片断可具有零尺寸。
以下定义从部分名称到一个部分的各个片断名称的唯一映射,从而读取器可按其原始顺序将各判断缝合起来,以形成该部分的数据流。
用于对给定的部分名称导出片断名称的语法是:
piece_name=part_name"/""["1*digit"]"[".last"]".piece"
以下有效性限制对该语法产生的piece_names存在:
●片断号以0开始,且是正的连续整数。片断号可以是左边零填充的。
●一个部分的片断集的最后一个片断在“.piece”之前的片断名中包含“.last”。
●在映射到物理包中的名称之前,从逻辑部分的名称中产生片断名称。
尽管不必以其自然顺序存储各片断,这种存储可提供最佳的效率。包含交叉部分的物理包也可包含未交叉的一判断部分,因此以下示例会是有效的:
spine.xaml/[0].piece
pages/page0.xaml
spine.xaml/[1].piece
pages/page1.xaml
spine.xaml/[2].last.piece
pages/page2.xaml
特定映射
以下定义了下面物理格式的特定映射:Windows文件系统中的松散文件。
映射到Windows文件系统中的松散文件
为了更好地理解如何将逻辑模型的元素映射到物理格式,考虑将Metro包表示为Windows文件系统中松散文件的集合的基本情形。逻辑包中每个部分将被包含在独立文件(流)中。逻辑模型中的每个部分名称对应于文件名称。
逻辑组件 | 物理表示 |
部分 | 文件 |
部分名称 | 带有路径的文件名称(看起来像URI,将斜杠改为反斜杠等) |
部分内容类型 | 文件包含表达文件名称及其相关联类型的简单列表的XML |
部分名称被翻译成有效的Windows文件名称,如下表所示。
以下给出了对逻辑部分名称分段(URI分段)以及对Windows文件名称有效的两个字符集。该表揭示了两件重要的事情:
在将URI转换成文件名时有我们需要转义的两个有效URI符号:冒号(:)和星号(*)。
有在URI中不能显现的有效文件名符号^{}[]#(它们可被用于特定的映射目的,类似交叉)。
“转义”被用作是一种技术,用以在部分名称包含不能在文件名称中使用的字符时产生有效的文件名字符。为了转义一字符,使用脱字符号(^),加上该字符的16进制表示。
为了从abs_path(部分的名)映射到文件名称:
移除第一个/
将所有/转换成\
转义冒号和星号字符
例如,部分名称/a:b/c/d*.xaml成为以下的文件名a^25b\c\d^2a.xaml。
为了执行逆向映射:
将所有\转换成/
将/添加到字符串的开始
通过用对应字符替换^[十六进制码]来逆转义字符
从URI语法规则(RFC2396) | 对命名文件、文件夹、或快捷方式有效的字符 |
path_segments=segment*("/″segment)segment=*pchar*(";"param)param=*pcharpchar=unreserved |escaped|″:"|"@"|"&"|"="|"+"|"$"|","unreserved=alphanum|markalphanum=alpha|digitmark="-"|"_"|"."|"!"|"~"|"*"|"′"|"("|")"escaped="%"hex hexhex=digit|"A"|"B"|"C"|"D"|"E"|"F"|"a"|"b"|"c"|"d"|"e"|"f" | Alphanum|^Accent circumflex(caret)&Ampersard′Apostrophe(single quotation mark)@At sign{Braceleft}Brace right[Bracket opening|Bracket closing,Comma$ Dollar sign=Equal sign!Exclamation point-Hyphen#Number sign(Parenthesis opening)Parenthesis closing%Percent.Period+Plus~Tilde_Underscore |
版本化和可扩展性
类似于其它技术规范,在此包含的本规范可引伸出未来的改进版。本规范第一版的设计包括对基于第一版本编写的软件系统,以及为未来版本编写的软件系统之间文档未来的相互交换的计划。类似地,本规范允许第三方来创建对本规范的扩展。这种扩展例如可允许构建使用某些特定打印机特征的文档,而仍然保持与不知道该打印机存在的其它读取器的兼容性。
使用固定有效载荷标记的新版本的文档,或对该标记的第三方扩展,需要读取器作出有关行为的适当判断(例如如何可视地描绘某些东西)。为了引导读取器。文档的作者(或产生该文档的工具)应标识读取器遇到否则未经标识的元素或属性时的适当行为。对于可及文档,该类引导是重要的。
新的打印机、浏览器、以及其它客户机可实现对未来特征的各种支持。利用新版本或扩展的文档作者必须仔细考虑不知道这些扩展版本的读取器的行为。
版本化名空间
XML标记识别基于名空间URI。对于任意的XML名空间,期望读取器识别或不识别定义在该名空间中的所有XML元素和XML属性。如果读取器不识别新的名空间,读取器需要执行在文档中指定的回退描绘操作。
XML名空间URI‘http//:PLACEHOLDER/version-control’包括XML元素和属性,用以构建版本适应和扩展适应的固定有效载荷标记。固定载荷中不必具有在它们中间的版本化元素。然而,为了建立适应性内容,必须至少使用<ver:Compatibilty.Rules>以及<ver:AltemativeContent>之一。
该固定有效载荷标记规范具有与其相关联的xmlns URI:‘http://PLACEHOLDER/pdl’。使用固定有效载荷中的该名空间将向读取器应用程序表示,仅将使用在本规范中定义的元素。本规范的未来版本将具有其自己的名空间。熟悉新名空间的读取器应用程序将知道如何支持在先前版本中定义的属性元素的超集。不熟悉新版本的读取器应用程序将像它是PDL的某些未知扩展的URI一样来考虑新版本的URI。这些应用程序可能不知道在各名空间之间存在一关系,即一名空间是另一名空间的超集。
反向和“正向”兼容
在支持在此所述的系统和方法的应用程序或装置的上下文中,兼容性由客户机使用规范的先前版本,或规范的未知扩展或版本来解析和显示已制作文档的能力来表示。各种版本化机制解决了“反向兼容”,使得客户机的未来实现能够基于规范的下层版本来支持文档,如下所述。
当诸如打印机的被实现客户机接收使用标记语言的未来版本而建立的文档时,客户机将能够解析并理解可用的描绘选项。根据规范旧版本编写的客户机软件使用较新版本的特征处理某些文档的能力常被称为“正向兼容性”。被编写为使用正向兼容性的文档被描述为“版本适应的”。
此外,因为被实现客户机也将需要能够支持具有表示新元素或属性的未知扩展,各种语义支持“扩展适应”的文档的更一般情形。
如果打印机或查看器遇到未知扩展,则它将查找内嵌信息以及对于有关适应性地描绘周围内容的引导的使用。该适应包括用所理解的内容替换未知元素或属性。然而,适应可取其它形式,包括纯粹略去未知内容。在缺少显式引导时,读取器应视标记中未识别扩展的出现为错误情况。如果未提供引导,则假设扩展对理解该内容是基本的。将捕捉描绘失败,并向用户报告。
为了支持该模型,标记语言的新的扩展版本应逻辑地对名空间中的相关扩展进行分组。这样,文档作者将能够使用最少量的名空间来利用被扩展特征。
版本化标记
用于支持扩展适应性行为的XML词汇包括以下元素:
版本化元素和分层结构 | 描述 |
<Compatibility.Rules><Ignorable><ProcessContent><CarryAlong><MustUnderstand><AlternateContent><Prefer><Fallback> | 控制解析器如何对未知元素或属性作出响应。声明相关联的名空间URI是可略去的。声明如果可略去元素,该元素的内容将像它由被略去元素的容件所包含一样进行处理。对文档编辑工具表明在更改文档时是否应保留可略去内容。逆转被声明可略去元素的效果在利用版本化/扩展特征的标记中,<Alternate Content>元素与读取器应用程序要使用的替代“后退”标记相关联,其中读取器应用程序不能处理指定为优选的标记指定优选内容。该内容将使客户机知道版本/扩展特征。对于下层的客户机,指定对优选内容要替代的‘下层’内容 |
<Compatibility.Rules>元素
可将Compatibility.Rules附加到可持有附加属性以及Xaml根元素的任意元素。<Compatibilty.Rules>元素控制解析器如何对未知元素或属性反应。正常时这种条目被报告为错误。将可略去元素添加到Compatibility.Rules属性通知编译器,可略去来自某些名空间的条目。
Compatibility.Rules可包含可略去(Ignorable)和必须理解(MustUnderstand)的元素。缺省地,所有元素和属性被假设为必须理解的。通过将可略去元素添加到其容件的Compatibilty.Rules属性中,可使元素和属性变得可略去。通过将必须理解元素添加到嵌套容件之一中,可使元素或属性再次变得必须理解。一可略去或必须理解指向同一Compatibility.Rules元素中的特定名空间URI。
<Compatibility.Rules>元素影响容件的内容,而不是该容件自己的标记或属性。那些元素为了影响容件的标记或属性,其容件必须包含兼容性规则。可使用Xaml根元素来指定元素兼容性规则,否则将是如Canvas的根元素。该Compatibility.Rules合成属性是容件中的第一元素。
<Ignorable>(<可略去>)元素
<Ignorable>元素声明有界名空间URI是可略去的。如果<Ignorable>标记在当前块或容件块中的条目之前声明,且名空间URI对解析器是未知的,则该条目可视为可略去。如果URI未知,则忽略可略去标记,而所有条目可获得理解。在一实施例中,必须理解所有未显式声明为可略去的条目。可略去元素可包含<ProcessContent>(<处理内容>)和<CarryAlong>(保留)元素,它们被用以更改如何略去一元素,并引导文档编辑工具应如何在编辑文档中保留这些内容。
<ProcessContent>元素
<ProcessContent>元素声明,如果略去了一元素,则将像它由被略去元素的容件所包含一样处理该元素的内容。
<ProcessContent>属性
属性 | 描述 |
元素 | 要处理内容的空格界定的元素名称列表,或者表示应处理所有元素的内容的“*”。如果未经指定,元素属性缺省为“*”。 |
<CarryAlong>元素
可选的<CarryAlong>元素向文档编辑工具表明,在更改文档时是否应保留可略去内容。编辑工具保留或丢弃可略去内容的方法在编辑工具的领域之中。如果多个<CarryAlong>元素指向名空间中同一元素或属性,所指定的最后一个<CarryAlong>具有优先权。
<CarryAlong>属性
属性 | 描述 |
元素 | 要求在编辑文档时要保留的空格界定的元素名称列表,或者表示应保留名空间中所有元素内容的“*”。如果未经指定,元素属性缺省为“*”。 |
属性 | 要保留的元素中空格界定的元素名称列表,或者表示应保留元素的所有属性的“*”。当略去并保留元素时,不管此属性内容,所有属性都保留。如果在未略去的元素中使用指定属性,仅有该属性会受到影响,如下例所示。缺省地,属性为“*”。 |
<MustUnderstand>元素
<MustUnderstand>是与可略去元素效果相反的元素。该技术在例如与另选内容组合时有用。在由<MustUnderstand>元素定义的范围之外,该元素保持为可略去。
<MustUderstand>属性
属性 | 描述 |
NameSpaceUri | 其条目必须得到理解的名空间的URI |
<AltemateContent>元素
在经指定内容的任一部分未得到理解时,<AlternateContent>元素使另选内容得以提供。AltemateContent块使用<Prefer>(<优选>)和<Fallback>(<后退>)块。如果<Prefer>块中的任何东西都未得到理解,则使用<Fallback>块中的内容。名空间被声明为<MustUnderstand>,以便指明要使用的后退。如果名空间被声明为可略去,且在<Prefer>块中使用该名空间,则不使用<Fallback>块中的内容。
版本化标记示例
使用<Ignorable>
本示例使用一假想标记名空间
http://PLCAEHOLDER/Circle,它在其初始版本中定义元素Circle(圆)并使用在该标记后来版本(版本2)中引入的Circle的Opacity(不透明)属性,以及在该标记的再后来版本(版本3)中引入的Luminance(亮度)属性。该标记在版本1、2、3及以上版本保持可加载。另外,<CarryAlong>元素指定,在编辑时甚至在编辑器不懂得v3:Luminance时,都必须保留v3:Luminance。
For a version 1 reader,Opadty and Luminance are Ignored.
For a version 2reader,only Luminance is Ignored.
For a version 3reader and beyond,all the attributes are used.
<FixedPanel
xmlns="http://PLACEHOLDER/fixed-content"
xmlns:v="http://PLACEHODER/versioned-content"
xmlns:v1="http://PLACEHODER/Circle/v1"
xmlns:v2="http://PLACEHODER/Circle/v2"
xmlns:v3="http://PLACEHODER/Circle/v3">
<v:Compatibility.Rules>
<v:Ignorable NamespaceUri="http://PLACEHODER/Circle/v2"/>
<v:Ignorable NamespaceUri="http://PLACEHODER/Circle/v3">
<v:CarryAlong Attributes="Luminance"/>
</v:Ignorable>
</v:Compatibility.Rules>
<Canvas>
<Circle Center="0,0"Radius="20"Color="Blue"
v2:Opacity="0.5"v3:Luminance="13"/>
<Circle Center="25,0"Radius="20"Color="Black"
v2:Opacity="0.5"v3:Luminance="13"/>
<Circle Center="50,0"Radius="20"Color="Red"
v2:Opacity="0.5"v3:Luminance="13"/>
<Circle Center="13,20"Radius="20"Color="Yellow"
v2:Opacity="0.5"v3:Luminance="13"/>
<Circle Center="38,20"Radius="20"Color="Green"
v2:Opacity="0.5"v3:Luminance="13"/>
</Canvas>
</FixedPanel>
使用<MustUnderstand>
以下示例示出了<MustUnderstand>元素的使用。
<FixedPanel
xmlns="http://PLACEHOLDER/fixed-content"
xmlns:v="http://PLCEHODER/versioned-content"
xmlns:v1="http://PLACEHODER/Circle/v1"
xmlns:v2="http://PLACEHODER/Circle/v2"
xmlns:v3="http://PLACEHODER/Circle/v3">
<v:Compatibility.Rules>
<v:Ignorable NamespaceUri="http://PLACEHODER/Circle/v2"/>
<v:Ignorable NamespaceUri="http://PLACEHODER/Circle/v3">
<v:CarryAlong Attributes="Luminance"/>
</v:Ignorable>
</v:Compatibility.Rules>
<Canvas>
<v:Compatibility.Rules>
<v:MustUnderstand NamespaceUri="http://PLACEHODER/Circle/v3"/>
</v:Compatbility.Rules>
<Circle Center="0,0"Radius="20"Color="Blue"
v2:Opacity="0.5"v3:Luminance="13"/>
<Circle Center="25,0"Radius="20"Color="Black"
v2:Opacity="0.5"v3:Luminance="13"/>
<Circle Center="50,0"Radius="20"Color="Red"
v2:Opacity="0.5"v3:Luminance="13"/>
<Circle Center="13,20"Radius="20"Color="Yellow"
v2:Opacity="0.5"v3:Luminance="13"/>
<Circle Center="38,20"Radius="20"Color="Green"
v2:Opacity="0.5"v3:Luminance="13"/>
</Canvas>
</FixedPanel>
<MustUnderstand>元素的使用使得对v3:Luminance的引用出错,即使它在根元素中被声明为可略去。如果与使用例如在版本2加入的Canvas的Luminance属性的另选内容组合,该技术是有用的(参见如下)。在Canvas元素的范围之外,又可略去Circle的Luminance属性。
<FixedPanel
xmlns="http://PLACEHOLDER/fixed-content"
xmlns:v="http://PLACEHODER/versioned-content"
xmlns:v1="http://PLACEHODER/Circle/v1"
xmlns:v2="http://PLACEHODER/Circle/v2"
xmlns:v3="http://PLACEHODER/Circle/v3">
<v:Ccmpatibility.Rules>
<v:Ignorable Namesp aceUri="http://PLACEHODER/Circle/v2"/>
<v:Ignorable NamespaceUri="http://PLACEHODER/Circle/v3">
<v:CarryAlong Attributes"Luminance"/>
</v:Ignorable>
</v:Compatibility.Rules>
<Canvas>
<v:Compatibility.Rules>
<v:MustUnderstand NamespaceUri="http://PLACEHODER/Circle/v3"/>
</v:Compatbility.Rules>
<v:AlternateContent>
<v:Prefer>
<Circle.Center="0,0"Radius="20"Color="Blue"
v2:Opacity="0.5"v3:Luminance="13"/>
<Circle Center="25,0"Radius="20"Color="Black"
v2:Opacity="0.5"v3:Luminance="13"/>
<Circle Center="50,0"Radius="20"Color="Red"
v2:Opacitye"0.5"v3:Luminance="13"/>
<Circle Center="13,20"Radius="20"Color="Yellow"
v2:Opacity="0.5"v3:Luminance="13"/>
<Circle Center="38,20"Radius="20"Color="Green"
v2:Opacity="0.5"v3:Luminance="13"/>
</v:Prefer>
<v:Fallback>
<Canvas Luminance="13">
<Circle Cener="0,0"Radius="20"Color="Blue"
v2:Opacity="0.5"/>
<Circle Center="25,0"Radius="20"Color="Black"
v2:Opacity="0.5"/>
<Circle Center="50,0"Radius="20"Color="Red"
v2:Opacity="0.5"/>
<Circ=e Center="13,20"Radius="20"Color="Yellow"
v2:Opacity="0.5"/>
<Circle Center="38,20"Radius="20"Color="Green"
v2:Opacity="0.5"/>
</Canvas>
</v:Fallback>
</v:AlternateContent>
</Canvas>
</FixedPanel>
使用<AlternateContent>
如果在<AlternateContent>块的<Prefer>块中,任意元素或属性都被声明为<MustUnderstand>但未得到理解,则跳过整个<Prefer>块,而对<Fallback>块进行正常处理(遇到的任何MustUnderstand条目都被报告为错误)。
<v:AlternateContent>
<v:Prefer>
<Path xmlns:m"http://schemas.example.com/2008/metallic-finishes"
m:Finish="GoldLeaf"...../>
</v:Prefer>
<v:Fallback>
<Path Fill="Gold"...../>
</v:Fallback>
</v:AlternateContent>
可及包格式
在以下讨论中,提供了特定文件格式的描述。本章节中主要的独立子标题包括:“可及包格式的绪论”、“可及包结构”、“固定有效载荷的部分”、“固定页面标记基础”、“固定有效载荷元素和属性”、以及“固定页面标记”。每个主要子标题都具有一个或多个相关子标题。
可及包格式的绪论
如上已描述了示例性框架,随后的描述是被提供利用上述工具的特定格式之一。可以认为和理解,以下描述仅组成一示例性格式,并非旨在限制所声明主题的应用。
根据本实施例,单个包可包多个有效载荷,每一个作为文档的不同表示。有效载荷是各部分的集合,包括可标识的“根”部分以及“根”部分有效处理所需要的所有部分。例如,有效载荷可以是文档的固定表示、可回流表示、或者任何任意表示。
以下描述定义一称为固定有效载荷的特别表示。固定有效载荷具有一根部分,它包含一FixedPanel(固定面板)标记,而该标记又引用FixedPage(固定页面)部分。加在一起,这些描述了一多页文档的精确描绘。
持有至少一个固定有效载荷,并遵循以下所述其它规则的包,被称为可及包。可及包的读取器和写入器可基于该可及包格式的规范,实现它们自己的解析器和描绘引擎。
可及包的特征
根据所述实施例,可及包解决了信息工作器对分发、存档、以及描绘文档的需求。使用已知描绘规则,可及包可明确并准确地从它们所保存的格式进行复制或打印,而无需使客户机装置或应用程序联系到特定操作系统或服务库。另外,因为以中性、应用程序无关的方式来表达可及区域有效载荷,通常无需用以创建该包的应用程序就可查看并打印文档。为了提供这种能力,固定有效载荷的概念被引入并包含于可及包中。
根据所述实施例,固定有效载荷具有固定数量的页面,且分页符总是相同的。在固定有效载荷中页面上所有元素的布局是预定的。每个页面具有固定的尺寸和方向。这样,在消费侧不必执行任何布局计算,并可简便描绘内容。这不仅应用于图形,而且也应用于文本,它在固定有效载荷中用精确的印刷布置来表示。页面的内容(文本、图形、图像)使用功能强大但简单的可视元集进行描述。
可及包支持各种用于组织页面的机制。一组页面被一页接一页地“粘贴”起来,形成一“固定面板”。该组页面大约等同于传统的多页文档。然后“固定面板”可参加组合-建立序列和选择以组装“复合”文档的过程。
在所示和所述实施例中,可及包支持一种称为固定面板序列的特定类型序列,它可用以例如将一组固定面板粘贴在一起形成单个更大的“文档”。想像一下,例如,将来自不同源的两个文档粘贴在一起:2页的封面备忘录(一固定面板)以及20页的报告(一固定面板)。
可及包支持众多的特定选择器,它们可在建立包含“相同”内容的可选表示的文档包时使用。特别地,可及包允许基于语言、色彩能力、以及页面尺寸进行选择。因而,可以拥有例如使用选择器在文档的英语表示和法语表示之间选择的双语文档。
除了对用于可及包中组合的选择器和序列的这些简单使用外,重要的是注意,选择器和序列还可指向另外的选择器和序列,从而允许建立功能强大的集聚分层结构。根据本实施例,什么可以做和什么不可以做的准确规则在以下题为“可及包结构”的章节中指定。
此外,可及包可包含其它有效载荷,它们不是固定有效载荷但更丰富,并且可能是文档的可编辑表示。这使包能包含一丰富、可编辑的文档,该文档能在编辑器应用程序以及视觉上精确的表示中良好运行,也可以是没有编辑应用程序地查看。
最后,根据本实施例,可及包支持所谓打印标签。该打印标签提供在打印包时应使用的设置。这些打印标签可用各种方式附加以获取实质上的灵活性。例如,可将打印标签“附于”整个包上,而其设置将影响整个包。打印标签还可附到结构中较低层次上(例如各个页面),且这些打印标签将在打印其所附部分时提供要使用的替代设置。
可及包结构
如上所述,可及包支持一特征集,包括“固定”页面、固定面板、组合、打印标签等。在包中使用包模型的内核组件来表示这些特征:部分和关系。在本章节及其相关小节中,提供“可及包”的完整定义,包括对所有这些部分和关系应当如何组装、相关等等的描述。
可及包结构纵览
图10示出了一示例性可及包,以及在本实施例中,可组成包或在包中发现的每个有效类部分。以下提供的表格列出了每个有效部分类型,并提供了每一个的描述:
FixedPage固定页面Application/xml+FixedPage-PLACEHOLDER | 每个固定页面部分表示一页的内容。 |
FixedPanel固定面板Application/xml+FixedPage-PLACEHOLDER | 每个固定面板将一组固定页面按序粘贴在一起 |
Font字体 | 字体被嵌入包中以确保文档字形的可靠复制 |
Image图像image/jpegimage/png | 可包括图像部分 |
Composition Parts组合部分Application/xml+Selector+[XXX]Application/xml+Sequence+[XXX] | 可使用选择器和序列来建立“组合”块,向包引入高级组织 |
Descriptive Metadata描述性元数据Application/xml+SimpleTypeProperties-PLACEHOLDER | 文档可包括描述性元数据(例如标题、关键字等) |
Print Ticket打印标签Application/xml+PRINTTICKET-PLACEHOLDER | 可包括打印标签,以在打印包时提供要使用的设置 |
因为可及包被设计成为“到处查看和打印”的文档,可及包的读取器和写入器必须共享对什么构成“有效”可及包的共同、明确定义期望。为了提供对“有效”可及包的定义,首先在下面定义一些概念。
可及组成部分
可及包必须包含至少一个固定面板,它可通过从包的开始部分遍历组合块发现。根据所述实施例,发现过程遵循以下算法:
●从包的开始部分起,开始迭代地遍历组合部分的图。
●在执行该遍历时,仅遍历可及组合部分(如下所述)的组合部分。
●在图的边界上定位所有终点(没有外出弧的点)。
这些终点指向(通过其<item>元素)一组称为可及有效载荷根的部分。
固定有效载荷
固定有效载荷是其根部分是一固定面板部分的有效载荷。例如,图10中每个固定有效载荷都具有相关联固定面板部分作为其根部分。有效载荷包括对固定面板有效处理所需的所有部分的全集。它们包括:
●固定面板本身;
●从固定面板中引用的所有固定页面;
●由有效载荷中任一固定页面引用(直接地,或通过选择器间接地)的所有图像部分;
●直接或间接地从有效载荷中任一固定页面中使用的图像画笔引用的所有可及选择器(如下所述);
●有效载荷中任一固定页面引用的所有字体部分;
●附于固定有效载荷中任一部分的所有描述性元数据部分;以及
●附于固定有效载荷中任一部分的任意打印标签。
可及包的有效规则
有了以上的定义,现在描述根据所述实施例描述“有效”可及包的一致性规则:
●可及包必须具有使用如上所述包关系的标准机制而定义的开始部分;
●可及包的开始部分必须是选择器或序列;
●可及包必须具有至少一个是固定面板的可及有效载荷根;
●打印标签部分可附于任一组合部分、固定面板部分、或任一在固定面板中标识的固定页面部分。在本示例中,这通过http:∥PLCEHOLDER/HasPrintTicketRel关系达成;
○打印标签可附于任一或所有这些部分;
○任何给定部分必须附有不超过一个打印标签;
●描述性元数据部分可被附于包中的任意部分;
●固定有效载荷中的每个字体对象必须符合在“字体部分”章节中定义的字体格式规则;
●对来自固定有效载荷的任何固定页面中图像的引用可指向选择器,它可作出选择(可能循环地通过其它选择器)以找出要描绘的真正图像部分;
●在固定有效载荷中使用的每个图像对象必须符合在“图像部分”章节中定义的字体格式规则;
●对于从固定页面引用(直接地,或通过选择器间接地)的任意字体、图像或选择器部分,从引用固定页面到被引用部分必须有“必须部分”关系(关系名称=http://mmcf-fixed-RequiredResource-PLACEHOLDER)。
可及组合部分
尽管可及包可包含许多类型的组合部分,但根据本文档仅有明确定义的组合部分类型组具有明确定义的行为。带有明确定义行为的这些组合部分被称为可及组合部分。除了这些的各部分在确定可及包的有效性时是无关的。
以下组合部分类型被定义为可及组合部分:
Language Selector语言选择器Application/xml+selector+language | 基于其自然语言在各表示之间进行选择 |
Color Selector色彩选择器Application/xml+selector+color | 基于它们是单色还是彩色的在各表示之间进行选择 |
Page Size Selector页面尺寸选择器Application/xml+selector+pagesize | 基于其页面尺寸在各表示之间进行选择 |
Content Type内容类型选择器Application/xml+selector+contenttype | 基于它们的内容类型是否为系统所理解而在各表示之间进行选择 |
Fixed Sequence固定序列选择器Application/xml+selector+fixed | 将是固定内容的子内容组合到一序列中 |
可及选择器
那些被定义为可及组合部分的选择器组合部分,被称为可及选择器。如上所述,语言选择器基于诸如英语或法语的其自然语言在各表示之间选取。为了发现该语言,选择器检查其条目的每一个。仅有那些是XML的才被考虑。为此,检查每一个的根元素以确定其语言。如果xml:lang属性未出现,略去该部分。然后选择器依次考虑这些部分的每一个,选择其语言匹配系统缺省语言的第一个部分。
色彩选择器基于它们是单色还是彩色的在各表示之间进行选择。页面尺寸选择器基于其页面尺寸在各表示之间进行选择。内容类型选择器基于其内容类型是否为系统所理解在各表示之间选择。
可及序列
那些被定义为可及组合部分的序列组合部分被称为可及序列。固定序列将是固定内容的子内容组合到一序列中。
固定有效载荷部分
固定有效载荷可包含以下种类的各部分:固定面板部分、固定页面部分、图像部分、字体部分、打印标签部分、以及描述性元数据部分,其中每一个都在其自己的子标题下进行讨论。
固定面板部分
固定有效载荷的文档结构将固定页面标识为书脊部分,如下所示。书脊部分和页面部分之间的关系在书脊的关系流中定义。固定面板部分具有内容类型Application/xml+PLACEHOLDER。
通过将<FixedPanel>元素包括在<Document>(<文档>)元素中,固定有效载荷内容的书脊在标记中指定。在以下示例中,<FixedPanel>元素指定在书脊中所持有页面的源。
<!--SPINE-->
<Document$XMLNSFIXED$>
<FixedPanel>
<PageContent Source="P1.xml"/>
<PageContent Source="P1.xml"/>
</FixedPanel>
</Document>
<Document>元素
<Document>元素没有属性,且必须仅具有一子元素:<FixedPanel>。
<FixedPanel>元素
<FixedPanel>元素是文档书脊,它将有序页面逻辑地绑定在一起成为单个多页文档。页面总是指定其自己的高度和宽度,但<FixedPanel>元素也可有选择地指定高度和宽度。该信息可用于各种目的,包括例如基于页面尺寸在可选表示之间进行选择。如果<FixedPanel>元素指定了高度和宽度,通常它将与<FixedPanel>中页面的宽度和高度对准,但这些尺寸并不指定各个页面的高度和宽度。
以下表格根据所述实施例归纳了固定面板的属性。
<FixedPanel>属性 | 描述 |
页面高度 | 包含于<FixedPanel>中页面的典型高度,可选 |
页面宽度 | 包含于<FixedPanel>中页面的典型宽度,可选 |
<PageContent>(<页面内容>)元素是<FixedPanel>元素唯一允许的子元素。<PageContent>元素以匹配文档页面顺序的序列标记顺序排序。
<PageContent>元素
每个<PageContent>元素指向用于单个页面的内容之源。为了确定文档中的页数,将对<FixedPanel>中包含的<PageContent>子元素数量计数。
<PageContent>元素没有允许的子元素,并具有一个必须属性-源,它指向页面内容的固定页面部分。
由于有了<FixedPanel>元素,<PageContent>元素可有选择地包括PageHeight(页面高度)和PageWidth(页面宽度)属性,在此反映单个页面的尺寸。所需页面尺寸在固定页面部分中指定;<PageContent>上的可选尺寸仅是建议性的。<PageContent>尺寸属性使诸如文档查看器的应用程序能对文档作出可视布局的快速估计,而无需加载并解析所有的固定页面部分。
以下提供的表格归纳了<PageContent>属性,并提供对属性的描述。
<PageContent>属性 | 描述 |
源 | 指向页面内容的在包中独立部分中持有的URI字符串。该内容被标识为包中的一部分。必须。 |
页面高度 | 可选 |
页面宽度 | 可选 |
页面内容的URI字符串必须指向与包有关的内容的那部分位置。
固定页面部分
<FixedPanel>中每个<PageContent>元素由名称(URI)指向一固定页面部分。每个固定页面部分包含描述单个页面内容的描绘的固定页面标记。固定页面部分是Application/xml+PLACEHOLDER-FixedPage内容类型的。
在标记中描述固定页面
以下是源内容的标记可如何寻找在以上样本书脊标记中引用页面的示例(<PageContentSource=“p1.xml”/>)。
// /content/p1.xml
<FixedPage PageHeight="1056"PageWidth="816">
<Glyphs
OriginX="96"
OriginY="96"
UnicodeString ="This is Page 1!"
FontUri="../Fontg/Times.TTF"
FontRenderingEmSize="16"
/>
</FixedPage>
以下表格归纳了FixedPage(固定页面)属性,并提供了对各属性的描述。
固定页面属性 | 描述 |
页面高度 | 必须 |
页面宽度 | 必须 |
固定页面标记中的读取顺序
在一实施例中,包含在固定页面中的字形子元素的标记顺序必须与页面的文本内容的所需读取顺序一样。该读取顺序可用于来自查看器中固定页面的有序文本的交互式选择/复制,也可用于使能通过可访问技术对有序文本的访问。产生固定页面标记以确保标记顺序和读取顺序之间的这种一致是应用程序的责任。
图像部分
所支持格式
根据所述实施例,由可及包中固定页面使用的图像部分可以是固定数量的格式,例如PNG或JPEG,尽管也可使用其它格式。
字体部分
根据所述实施例,可及包支持限量的字体格式。在所示和所述实施例中,所支持的字体格式包括TrueType格式和OpenType格式。
本领域技术人员将理解,OpenType字体格式是TrueType字体格式的扩展,加上了对PostScript字体数据和复杂印刷布局的支持。OpenType字体文件包含表格格式的数据,它包括TrueType轮廓字体或PostScript轮廓字体。
根据所述实施例,在可及包中不支持以下字体格式:Adobe类型1、位图字体、具有隐藏属性的字体(使用系统标记来判断是否要列举它)、向量字体、以及EUDC字体(其字体系列名称是EUDC)。
对字体分组
固定有效载荷表示使用以下详述字形元素的所有文本。因为在此实施例中格式是固定的,对字体分组以仅包含固定有效载荷所需字形是可能的。因此,可及包中的字体可基于字形使用来进行分组。尽管经分组字体将不包含原始字体中的所有字形,经分组字体仍然必须是有效的OpenType字体文件。
打印标签字体
打印标签部分提供可在打印包时使用的设置。这些打印标签可以各种方式附加以获取实质上的灵活性。例如,打印标签可“附于”整个包,且其设置将影响整个包。打印标签还可附到结构中较低级别上(例如各个页面),且这些打印标签将在打印其所附部分时提供要使用的替代设置。
描述性元数据
如上所述,描述性元数据部分向包的写入器或生产者提供一种用以存储属性值的方法,这些属性能使包的读取器可靠地发现这些值。通常使用这些属性来记录有关整个包的附加信息,以及容件中的各个部分。
固定页面标记基础
本章节描述与固定页面标记相关联的某些基本信息,并包括以下章节:“固定有效载荷和其它标记标准”、“固定页面标记模型”、“资源和资源引用”、以及“固定页面绘制模型”。
固定有效载荷和其它标记标准
可及包中用于固定有效载荷的固定面板和固定页面标记是来自WindowsLonghorn的Avalon XAML标记的子集。即,尽管固定有效载荷标记可作为独立的XML标记(如本文档中所述)存在,它在Longhorn系统中以同样方式载入,并描绘了对原始多页文档的“所见即所得”(WYSIWYG)复制。
作为XAML标记上的某些背景,考虑以下内容。XAML标记是一种机制,它使用户能够将对象的分层结构和对象之后的编程逻辑指定为基于XML的标记语言。这为对象模型提供了在XML中进行描述的能力。这使得诸如微软公司.NET框架的公共语言运行时(CLR)中各类的可扩展类能够在XML中被访问。XAML机制提供了XML标记到CLR对象的直接映射,以及在标记中表示相关代码的能力。可以认为和理解,各种实现无需具体利用XAML的基于CLR实现。相反,基于CLR的实现仅构成了可在本文所述实施例的上下文中采用XAML的一种方法。
更具体地,结合图11进行以下考虑,其中示出了CLR概念(左侧组件)到XML(右侧组件)的示例性映射。使用一称为反射的CLR概念,可在xmlns声明中找到名空间。各类直接映射成XML标记。属性和事件直接映射成属性,使用该分层结构,用户可在XML标记文件中指定任意CLR对象的分层结构树。Xaml文件是带有.xaml扩展和application/xaml+xml介质类型的xml文件。Xaml文件具有一根标记,它通常使用xmlns属性指定一名空间。该名空间可用其它类型的标记来指定。
然后,xaml文件中的标记通常映射到CLR对象。标记可以是元素、组合属性、定义或资源。元素是通常在运行时期间例示的CLR对象,并形成各对象的分层结构。复合属性标记被用以在父标记中设置属性。定义标记被用来将代码加入页面并定义资源。资源标记提供仅通过将对象树指定为资源来重新使用该树的能力。定义标记也可在另一标记中被定义为xmlns属性。
一旦文档在标记中进行了适当描述(通常由写入器),可解析并处理该标记(通常由读取器)。经适当配置的解析器判断,为了找到一标记应当从根标记起搜索哪些CLR组装和名空间。在许多情形中,解析器寻找并将找到在由xmlns属性指定的URL中的名空间定义文件。名空间定义文件提供组装的名称,及其安装路径和CLR名空间的列表。当解析器遇到一标记时,解析器判断标记使用其xmlns和该xmlns的xmlns定义文件指向哪一个CLR类。解析器按照组装和名空间在定义文件中指定的顺序进行搜索。当它找到一匹配时,解析器例示一该类对象。
因而,如上所述并在以上通过引用加入的应用程序中更全面描述的机制,使对象模型能使用标记以基于XML文件方式表示。可使用将对象模型表示为标记的能力来异步或同步地创建向量图形画、固定格式文档、适应流文档、以及应用程序UI。
在所示和所述实施例中,固定有效载荷标记是最小、几乎完全最为节省的的Avalon XAML描绘元分组。它可视地表示可全保真地在Avalon中表示的任何东西。固定有效载荷标记是Avalon XAML元素和属性的分组-加上附加惯例、规范形式、或与Avalon XAML相比使用中的限制。
所定义的基本上最小的固定有效载荷标记集减少了关联于实现和可及包读取器(诸如打印机RIP或者可交互的查看器应用程序)测试的开销,也减少了相关联解析器的复杂性和存储器覆盖区。最为节省标记集还使得可及包写入器和读取器之间的分组、错误、或不一致性的机会最小化,使格式及其生态系统在本质上更稳固。
除了最小的固定有效载荷标记之外,可及包将指定用于附加语义信息的标记以支持查看器,或带有诸如超链接、章节/梗概结构和导航、文本选择、以及文档可访问性等特征的可及包文档的表示。
最后,使用上述版本化和可扩展性机制有可能对消费应用程序、查看器、或装置的特定目标用更丰富元素集补充最小固定有效载荷标记。
固定页面标记模型
在所示和所述实施例中,基于XML元素、XML属性、以及XML名空间,以基于XML的标记语言表达固定页面部分。在本文档中定义有三个包括在固定页面标记中的XML名空间。一个这种名空间指向在本说明书中其它地方定义的版本控制元素和属性。用于固定页面标记中元素和属性的主要名空间是“http://schemas.microsoft.com/MMCF-PLACEHOLDER-FixedPage”。最后,固定页面标记引入了需要第三名空间的“资源”概念,如下所述。
尽管固定页面标记使用XML元素和XML属性来表达,其规范是基于“内容”和“属性”的高级抽象模型。固定页面元素都被表述为XML元素。仅有少数固定页面元素可持有表达为子XML元素的“内容”。但属性值可使用XML属性或使用子XML元素来表达。
固定页面标记还依赖于资源字典和资源引用的两个概念。资源字典和多个资源引用的组合允许单个属性值由多个固定页面标记元素的多个属性共享。
固定页面标记中的属性
在所示和所述实施例中,有三种标记形式可用以指定固定页面标记属性的值。
如果属性使用资源引用来指定,则属性名称被用作XML属性名称,而属性值的特定语法指示资源引用的呈现。用于表达资源引用的语法在题为“资源和资源引用”的章节中描述。
任何未被指定为资源引用的属性值可用XML表达,其中使用嵌套子XML元素来标识要设置其值的属性。该“组合属性语法”如下所述。
最后,某些非资源引用属性值可被表达为简单文本字符串。尽管所有这样的属性值可使用复合属性语法来表达,还可使用简单的XML属性语法来表达它们。
对于任何固定元素,不管用于指定值的语法如何,任何属性都只能被设置不超过一次。
简单属性语法
对于可表达为简单字符串的属性值,可使用XML属性语法来指定属性值。例如,给定带有称为“Color”(色彩)的属性称为“SolidColorBrush”(实心彩色画笔)的固定页面标记元素,可使用以下语法来指定属性值
<!--Simple Attribute Syntax-->
<SolidColorBrush Color="#FF0000"/>
组合属性语法
某些属性值不能被表达为简单字符串,例如被用以描述属性值的XML元素。这种属性值不能使用简单属性语法来表达。但它们可使用复合属性语法来表达。
在复合属性语法中,使用子XML元素,但XML元素名称源自父元素名称和属性名称的组合,它们之间以·分隔。固定页面标记元素<Path>,它具有可被设置为<SolidColorB”rush>的属性“Fill”(填充),可使用以下标记来设置<Path>元素的“填充”属性:
<!--Compound-Property Syntax-->
<Path>
<Path.Fill>
<SolidColorBrush Color="#FF0000"/>
</Path.Fill>
...
</Path>
复合属性语法甚至可在简单属性语法足以表达属性值的情形中使用。因此,先前章节的示例为:
<!--Simple Attribute Syntax-->
<SolidColorBrush Color="#FF0000"/>
相反可用复合属性语法来表达:
<!--Compound-property Syntax-->
<SolidColorBrush>
<SolidColorBrush.Color>#FF0000</SolidColorBrush.Color>
</SolidColorBrush>
当使用复合属性语法来指定属性值时,表示“属性”的子XML元素必须出现在表示“内容”的子XML元素之前。各个复合属性子XML元素的顺序并不重要,它们仅仅一起出现在父元素的任何“内容”之前。
例如,当使用<Canvas>元素的Clip(剪切)和RenderTransform(描绘变换)属性时,两个属性都必须出现在<Canvas>的任一<Path>和<Glyphs>内容之前。
<Canvas>
<!--First,the property-related child elements-->
<Canvas.RenderTransform>
<MatrixTransform Matrix="1,0,0,1,0,0">
</Canvas.RenderTransform>
<Canvas.Clip>
<PathGeometry>
...
</PathGeometry>
</Canvas.Clip>
<!--Then,the"Contents"-->
<Path->
...
</Path>
<Glyphs_>
...
</Glyphs>
</Canvas>
资源和资源引用
可使用资源字典来持有可共享属性值,每个都称为资源。任何本身是固定页面标记元素的属性值可在资源字典中持有。资源字典中的每个资源都带有名字。资源的名字可用于从属性的XML属性中引用该资源。
在所示和所述实施例中,<Canvas>和<FixedPage>元素可带有一资源字典。资源字典在称为“资源”的属性中用标记表示为<Canvas>和<FixedPage>元素的属性。然而,各个资源值可直接嵌入<FixedPage.Resources>或<Canvas.Resources>XML元素。依照句法,<Canvas.Resources>和<FixedPage.Resources>的标记与用于带有“内容”的标记元素的标记相像。
根据本实施例,<Canvas.Resources>或<FixedPage.Resources>必须优先于<Canvas>或<FixedPage>的任何复合属性语法的属性值。类似地,它们必须优先于<Canvas>或<FixedPage>的任何“内容”。
定义固定有效载荷的资源字典
任何<FixedPage>或<Canvas>可带有一使用<Canvas.Resources>XML元素表达的资源字典。给予单个资源字典中每个元素一独特名称,该名称通过使用与该元素相关联的XML属性来标识。为了从对应于属性的那些特性中辨别出该“名字”特性,名字特性从不同于FixedFormat(固定格式)元素的名空间中取得。该XML名空间的URI是“http://schemas.microsoft.com/PLACEHOLDER-for-resources”。在以下示例中,定义了两种几何形状:一种长方形而另一种为圆。
<Canvas xmlns:def="http://schemas.microsoft.com/PLACEHOLDER-for-resources">
<Canvas.Resources>
<PathGeometry def:Name="Rectangle">
<PathFigure>
...
</PathFigure>
</PathGeometry>
<PathGeometry def:Name="Circle">
<PathFigure>
...
</PathFigure>
</PathGeometry>
</Canvas.Resources>
</Canvas>
引用资源
为了将属性值设置为以上定义的资源之一,使用将资源名字包括在{}中的XML特性值。例如,“{长方形}”将表明将使用的几何图形。在以下的标记示例中,由字典中几何图形对象定义的长方形区域将由SolidColorBrush来填充。
<Canvas>
<Canvas.Resources>
<PathGeometry def:Name="Rectangle">
...
</PathGeometry>
</Canvas.Resources>
<Path>
<Path.Data>
<PathGeometry PathGeometry="{Rectangle }"/>
</Path.Data>
<Path.Fill>
<SolidColorBrush Color="#FF0000"/>
</Path.Fill>
</Path>
</Canvas>
根据本实施例,在资源字典中的资源定义里不能出现资源引用。
用于解析资源引用的范围规则
尽管在同一资源字典中一名字不能使用两次,但可在单个固定页面部分内两个不同资源字典中使用同一名字。此外,内部<Canvas>的资源字典可重新使用在某些外部<Canvas>或<FixedPage>的资源字典中定义的名字。
当使用资源引用来设置元素属性时,在各个资源字典中搜索一给定名字的资源。如果具有该属性的元素是<Canvas>,则在该<Canvas>的资源字典(如果有)中搜索所需名字的资源。如果该元素不是<Canvas>,则搜索从最近的包含<Canvas>或<FixedPage>的资源字典开始。如果未在初始搜索的资源字典中定义所需名字,则考虑下一最近包含<Canvas>或<FixedPage>的资源字典。如果搜索持续到了<FixedPage>根元素,且所需名字的资源未在与该<FixedPage>相关联的资源字典中找到,则错误发生。
以下示例示出这些规则。
<FixedPage xmlns:def="http://schemas.microsoft.com/PLACEHOLDER-for-resources"
PageHeight="1056"PageWidth="816">
<FixedPage.Resources>
<Fill def:Name="FavoriteColorFill">
<SolidColorBrush Color="#808080"/>
</Fill>
</FixedPage.Resources>
<Canvas>
<Canvas.Resources>
<Fill def:Name="FavoriteColorFill">
<SolidColorBrush Color="#000000"/>
</Fill>
</Canvas.Resources>
<!--The following Path will be filed with color#000000-->
<Path Fill="{FavoriteColorFill}">
<Path.Data>
...
</Path.Data>
</Path>
<Canvas>
<!--The following Path will be filed with color#000000-->
<Path Fill="{FavoriteColorFill]">
<Path.Data>
...
</Path.Data>
</Path>
</Canvas>
</Canvas>
<--The following path will be filled with color#808080-->
<Path Fill="{FavoriteColorFill}">
<Path.Data>
...
</Path.Data>
</Path>
</FixedPage>
固定页面绘制模型
固定页面(或嵌套子Canvas)元素是在其上描绘其它元素的元素。内容的安排由以下控制:为固定页面(或Canvas)指定的属性、为固定页面(或Canvas)上元素指定的属性、以及为固定有效载荷名空间定义的组合规则。
使用Canvas以安置各元素
在固定标记中,所有的元素相对于坐标系统的当前原点(0,0)进行安置。通过将描绘变换特性应用到包含元素的固定页面或Canvas的每个元素中,可移动当前原点。
以下示例示出通过描绘变换对各元素的定位。
<Canvas>
<Canvas.Resources>
<PathGeometry def:Name="StarFish">
<!--Various PathFigures in here-->
...
</PathGeometry>
<PathGeometry def:Name="LogoShape">
<!--Various PathFigures in here -->
...
</PathGeometry>
</Canvas.Resources>
<!--Draw a green StarFish and a red LogoShape shifted by 100 to the right
and 50 down-->
<Canvas>
<Canvas.RenderTransform>
<MatrixTransform Matrix="1,0,0,1,100,50"/>
</Canvas.RenderTransform>
<Path Fill="#00FF00"Data="{StarFish}"/>
<Path Fill="#FF0000"Data="{LogoShape}"/>
</Canvas>
<!--Draw a green StarFish and a red LogoShape shifted by 200 to the right
and 250 down -->
<Canvas>
<Canvas.RenderTransform>
<MatrixTransform Matrix="1,0,0,1,200,250"/>
</Canvas.RenderTransform>
<Path Fill="#00FF00"Data="{StarFish}"/>
<Path Fill="#FF0000"Data="{LogoShape}"/>
</Canvas>
</Canvas>
坐标系统和单位
根据所示和所述实施例,开始将坐标系统设置为:坐标系统的一个单位等于1英寸的1/96,以浮点数表达,坐标系统的原点在固定页面元素的左上角。
可在任意子元素上指定描绘变换特性,以将仿射变换应用于当前坐标系统。
页面尺寸
页面尺寸由固定页面元素上的“页面宽度”和“页面高度”参数来指定。
组合规则
固定页面使用带有α频道的绘画模型。根据所述实施例,组合必须根据这些规则,并以以下顺序进行:
●固定页面(或任何嵌套Canvas)被视为是一无限平面,其中子元素可以其在标记中出现的顺序绘制。该平面的α频道被初始化为“0.0”(全透明)。实际上理想的无限平面可被视为是足够大的位图缓存,以保持由描绘所有子元素而产生的所有标记。
●该平面的内容使用由固定页面(或Canvas)的描绘变换属性指定的仿射变换来变换。
●由固定页面(或Canvas)的剪切属性剪切的所有子元素(也使用描绘变换属性来变换)在平面上描绘。另外固定页面剪切成由(0,0,页面宽度,页面高度)指定的长方形。如果子元素具有不透明属性或不透明遮盖属性,在平面上描绘之前它被应用于子元素。
●最后,固定页面(或Canvas)的内容在其包含元素上描绘。在固定页面情形中,包含元素是物理成像平面。
描绘根据这些规则进行:
●在平面上产生标记的元素仅有“字形”和“路径”。
●通过将“字形”和“路径”元素安置到“Canvas”上,并应用它们的各种有效特性,可获取所有其它描绘效果。
固定有效载荷元素和属性
根据所示和所述实施例,固定有效载荷包括在标记中使用的一个小XML元素集,以表示页面及其内容。使用<Document>、<FixedPanel>、和<PageContent>元素,固定目标部分中的标记将文档的各个页面一起带给共同的、易于索引的根。每个固定页面部分用仅带有<Path>和<Glyphs>元素(一起进行所有的绘制)的<FixedPage>元素来表示页面的内容,并用<Canvas>元素组合它们。
固定有效载荷标记的元素分层结构在以下章节中归纳:“顶层元素”、“路径、剪切的几何图形”、“用于填充路径、字形、或不透明遮盖的画笔”、“固定页面获Canvas的资源字典”、“α透明度的不透明遮盖”、“剪切路径”、以及“变换”。
顶层元素
●<Document>[每个固定面板部分只有一个]
○特性:
◆[无]
○子元素:
◆<FixedPanel>[只有一个]
●<FixedPanel>
○特性:
◆页面高度[可选]
◆页面宽度[可选]
○子元素:
◆<PageContent>[这些子元素的1-N]
●<PageContent>
○特性:
◆源[必须]
◆页面高度[可选]
◆页面宽度[可选]
○子元素:
◆[无]
●<FixedPage>
○通过简单XML特性直接表达的属性:
◆页面高度[必须(这里或作为子元素)]
◆页面宽度[必须(这里或作为子元素)]
○表达为XML子元素的资源字典本身
◆<FixedPage.Resources>
○通过XML子元素表达的属性:
◆<FixedPage.PageHeight>[必须(这里或作为特性)]
◆<FixedPage.PageWidth>[必须(这里或作为特性)]
○通过XML子元素的内容
◆<Canvas>
◆<Path>
◆<Glyphs>
●<Canvas>
○通过简单XML特性直接表达的属性:
◆Opacity(不透明)
○通过资源字典引用表达的属性
◆剪切
◆描绘变换
◆Opacity(不透明)遮盖
○表达为XML子元素的资源字典本身
◆<Canvas.Resources>
○通过XML子元素表达的属性:
◆<Canvas.Opacity>
◆<Canvas.Clip>
◆<Canvas.RenderTransform>
◆<Canvas.OpacityMask>
○通过XML子元素的内容
◆<Canvas>
◆<Path>
◆<Glyphs>
●<Path>
○通过简单XML特性直接表达的属性:
◆Opacity(不透明)
○通过资源字典引用表达的属性
◆剪切
◆描绘变换
◆Opacity(不透明)遮盖
◆填充
○通过XML子元素表达的属性:
◆<Path.Opacity>
◆<Path.Clip>
◆<Path.RenderTransform>
◆<Path.OpacityMask>
◆<Path.Fill>
◆<Path.Data>
●<Glyphs>
○通过简单XML特性直接表达的属性:
◆Opacity(不透明)
◆Bidilevel
◆FontFaceIndex
◆FontHingtingEmSize
◆FontRenderingEmSize
◆FontUri
◆索引
◆OriginX
◆OriginY
◆Sideways
◆StyleSimulations
◆UnicodeString
○通过资源字典引用表达的属性
◆剪切
◆描绘变换
◆Opacty(不透明)遮盖
◆填充
○通过XML子元素表达的属性:
◆<Glyphs.Clip>
◆<Glyphs.RenderTransform>
◆<Glyphs.OpacityMask>
◆<Glyphs.Fill>
◆<Glyphs.Opacity>
◆<Glyphs.Bidilevel>
◆<Glyphs.FontFaceIndex>
◆<Glyphs.FontHinghingEmSize>
◆<Glyphs.FontRenderingEmSize>
◆<Glyphs.FontUri>
◆<Glyphs.Indices>
◆<Glyphs.OriginX>
◆<Glyphs.OriginY>
◆<Glyphs.Sideways>
◆<Glyphs.StyleSimulations>
◆<Glyphs.UnicodeString>
路径、剪切的几何图形
●<Path.Data>
○特性:
◆[无]
○表达为单个XML子元素的属性值:[这些子元素仅有一个Path.Data]
◆<GeometryCollection>
◆<PathGeometry>
●<GeometryCollection>
○特性:
◆CombineMode
○子元素:[1-N个子元素]
◆<GeometryCollection>
◆<PathGeometry>
●<PathGeometry>
○特性:
◆FillRule
○子元素:[1-N个子元素]
◆<PathFigure>
●<PathFigure>
○特性:
◆[无]
○子元素:[StartSegment先,CloseSegment最后,其间1-N个]Poly*]
◆<StartSegment>
◆<PolyLineSegment>
◆<PolyBezierSegment>
◆<CloseSegment>
●<StartSegment>
○通过简单XML特性直接表达的属性:
◆Point
○通过XML子元素表达的属性:
◆<StartSegment.Point>
●<PolyLineSegment>
○通过简单XML特性直接表达的属性:
◆Points
○通过XML子元素表达的属性:
◆<PolyLineSegment.Point>
●<PolyBezierSegment>
○通过简单XML特性直接表达的属性:
◆Points
○通过XML子元素表达的属性:
◆<PolyBezierSegment.Point>
用以填充路径、字形、或不透明遮盖的画笔
●<Path.Fill>
○特性:
◆[无]
○表达为单个XML子元素的属性值:[Path.Fill仅有这些子元素之一]
◆<SolidColorBrush>
◆<ImageBrush>
◆<DrawingBrush>
◆<LinearGradientBrush>
◆<RadialGradientBrush>
●<SolidColorBrush>
○通过简单XML特性直接表达的属性:
◆Opacity(不透明)
◆色彩
○通过XML子元素表达的属性:
◆<SolidColorBrush.Opacity>
◆<SolidColorBrush.Color>
●<ImageBrush>
○通过简单XML特性直接表达的属性:
◆Opacity(不透明)
◆HorizontalAlignment
◆VerticalAlignment
◆ViewBox
◆ViewPort
◆Stretch
◆TitlMode
◆ContentUnits
◆ViewportUnits
◆ImageSource
○通过XML资源字典引用表达的属性:
◆Transform(变换)
○通过XML子元素表达的属性:
◆<ImageBrush.Opacity>
◆<ImageBrush.Transform>
◆<ImageBrush.HorizontalAlignment>
◆<ImageBrush.VerticalAlignment>
◆<ImageBrush.ViewBox>
◆<ImageBrush.ViewPort>
◆<ImageBrush.Stretch>
◆<ImageBrush.TitlMode>
◆<ImageBrush.ContentUnits>
◆<ImageBrush.ViewportUnits>
◆<ImageBrush.ImageSource>
●<DrawingBrush>
○通过简单XML特性直接表达的属性:
◆Opacity(不透明)
◆HorizontalAlignment
◆VerticalAlignment
◆ViewBox
◆ViewPort
◆Stretch
◆TitlMode
◆ContentUnits
◆ViewportUnits
○通过资源字典引用表达的属性:
◆Transform(变换)
◆Drawing(绘制)
○通过XML子元素表达的属性:
◆<DrawingBrush.Opacity>
◆<DrawingBrush.Transform>
◆<DrawingBrush.HorizontalAlignment>
◆<DrawingBrush.VerticalAlignment>
◆<DrawingBrush.ViewBox>
◆<DrawingBrush.ViewPort>
◆<DrawingBrush.Stretch>
◆<DrawingBrush.TitlMode>
◆<DrawingBrush.ContentUnits>
◆<DrawingBrush.ViewportUnits>
◆<DrawingBrush.Drawing>
●<DrawingBrush.Drawing>
○通过XML子元素的内容
◆<Canvas>
◆<Path>
◆<Glyphs>
●<LinearGradientBrush>
○通过简单XML特性直接表达的属性:
◆Opacity(不透明)
◆MappingMode
◆SpreadMode
◆StartPoint
◆EndPoint
○通过XML资源字典引用表达的属性:
◆Transform(变换)
◆GradientStops
○通过XML子元素表达的属性:
◆<LinearGradientBrush.Opacity>
◆<LinearGradientBrush.Transform>
◆<LinearGradientBrush.MappingMode>
◆<LinearGradientBrush.SpreadMode>
◆<LinearGradientBrush.StartPoint>
◆<LinearGradientBrush.EndPoint>
◆<LinearGradientBrush.GradientStops>
●<RadialGradientBrush>
○通过简单XML特性直接表达的属性:
◆Opacitry不透明)
◆Center
◆Focus
◆RadiusX
◆RadiusY
○通过资源字典引用表达的属性:
◆Transform(变换)
◆GradientStops
○通过XML子元素表达的属性:
◆<RadialGradientBrush.Opacity>
◆<RadialGradientBrush.Transform>
◆<RadialGradientBrush.Center>
◆<RadialGradientBrush.Focus>
◆<RadialGradientBrush.RadiusX>
◆<RadialGradientBrush.RadiusY>
◆<RadialGradientBrush.GradientStops>
●<GradientStops>
○通过XML子元素的内容
◆<GradientStop>[这些子元素的1-N]
●<GradientStop>
○通过简单XML特性直接表达的属性:
◆Color(色彩)
◆Offset
○通过XML子元素表达的属性:
◆<GradientStop.Color>
◆<GradientStop.Offset>
固定页面或Canvas的资源字典
●<FixedPage.Resources>
●<Canvas.Resources>
这些元素已在讨论资源字典的章节中进行了讨论。
α透明度的不透明遮盖
●<Canvas.OpacityMask>
○特性:
◆[无]
○表达为单个XML子元素的属性值:[Canvas.OpacityMask仅有这些子元素之一]
◆<SolidColorBrush>
◆<ImageBrush>
◆<DrawingBrush>
◆<LinearGradientBrush>
◆<RadialGradientBrush>
●<Path.OpacityMask>
○特性:
◆[无]
○表达为单个XML子元素的属性值:[Path.OpacityMask仅有这些子元素之一]
◆<SolidColorBrush>
◆<ImageBrush>
◆<DrawingBrush>
◆<LinearGradientBrush>
◆<RadialGradientBrush>
●<Glyphs.OpacityMask>
○特性:
◆[无]
○表达为单个XML子元素的属性值:[Glyphs.OpacityMask仅有这些子元素之一]
◆<SolidColorBrush>
◆<ImageBrush>
◆<DrawingBrush>
◆<LinearGradientBrush>
◆<RadialGradientBrush>
剪切路径
●<Canvas.Clip>
○特性:
◆[无]
○表达为单个XML子元素的属性值:[Canvas.Clip仅有这些子元素之一]
◆<GeometryCollection>
◆<PathGeometry>
●<Path.Clip>
○特性:
◆[无]
○表达为单个XML子元素的属性值:[Path.Clip仅有这些子元素之一]
◆<GeometryCollection>
◆<PathGeometry>
●<Glyphs.Clip>
○特性:
◆[无]
○表达为单个XML子元素的属性值:[Glyphs.Clip仅有这些子元素之一]
◆<GeometryCollection>
◆<PathGeometry>
变换
●<Canvas.RenderTransform>
○表达为单个XML子元素的属性值:
◆<MatrixTransform>[必须]
●<Path.RenderTransform>
○表达为单个XML子元素的属性值:
◆<MatrixTransform>[必须]
●<Glyphs.RenderTransform>
○表达为单个XML子元素的属性值:
◆<MatrixTransform>[必须]
●<MatrixTransform>
○通过简单XML特性直接表达的属性:
◆Matrix
○通过XML子元素表达的属性:
◆<MatrixTransform.Matrix>
●<ImageBrush.Transform>
○通过简单XML特性直接表达的属性:
◆MatrixTransform
○通过XML子元素表达的属性:
◆<ImageBrush.Transform.MatrixTransform>
●<DrawingBrush.Transform>
○通过简单XML特性直接表达的属性:
◆MatrixTransform
○通过XML子元素表达的属性:
◆<DrawingBrush.Transform.MatrixTransform>
●<LinearGradientBrush.Transform>
○通过简单XML特性直接表达的属性:
◆MatrixTransform
○通过XML子元素表达的属性:
◆<LinearGradientBrush.Transform.MatrixTransform>
●<RadialGradientBrush.Transform>
○通过简单XML特性直接表达的属性:
◆MatrixTransform
○通过XML子元素表达的属性:
◆<RadialGradientBrush.Transform.MatrixTransform>
固定页面标记
每个固定页面部分表示在<FixedPage>元素中为根的XML标记中的页面内容。该固定页面标记提供写入器和读取器之间文档的所见即所得(WYSIWYG)保真度,仅带有一个小的元素和属性集:<Path>和<Glyphs>元素(一起进行所有绘制),并用<Canvas>元素组合它们。
公共元素属性
在讨论对固定页面标记中每个元素特定的特性之前,考虑绘制和分组元素的共同特性:不透明、剪切、描绘变换、以及不透明遮盖。这些元素不仅是上层元素的仅有共同属性,也是将其结果从父元素到子元素进行“积累”的仅有属性,如在以上组合规则章节所述。积累是组合规则应用的结果。以下表格提供了对这些公共特性的归纳描述,随后是对每个特性的更透彻讨论:
特性 | 元素 | 描述 |
不透明 | Canvas、Path、Glyphs、以及SolidColorBrush、ImageBrush、DrawingBrush、LinearGradientBrush、RadialGradientBrush | 定义元素的阶跃透明度 |
子元素 | 元素 | 描述 |
Clip | Canvas、Path、Glyphs | 剪切限制画笔可应用于Canvas上的区域 |
RenderTransform | Canvas、Path、Glyphs | RenderTransform为子元素建立了新的坐标框架。仅支持MatrixTransform。 |
OpacityMask | Canvas、Path、Glyphs | 将以同样方式应用的α值的长方形遮盖指定为不透明特性,但在逐个象素的基础上允许有不同α值 |
不透明特性
在描绘时使用不透明性来半透明地混合两个元素(α混合)。不透明特性在0(全透明)到1(完全不透明)的范围内。在标记解析期间,该范围之外的值被加到其中。因此,有效地,[-∝...0]是透明的,而[1...∝]是不透明的。
通过以下计算应用不透明特性(假设为非自左乘源和目标色彩,均指定为scRGB):
OE:元素的不透明特性,或者OpacityMask中对应位置的α值
AS:在源平面上呈现的α值
RS:在源平面上呈现的红色值
GS:在源平面上呈现的绿色值
BS:在源平面上呈现的蓝色值
AD:在目标平面上已呈现的α值
RD:在目标平面上已呈现的红色值
GD:在目标平面上已呈现的绿色值
BD:在目标平面上已呈现的蓝色值
A*:在目标平面上呈现的结果α值
R*:在目标平面上呈现的结果红色值
G*:在目标平面上呈现的结果绿色值
B*:在目标平面上呈现的结果蓝色值
所有标注有T下标的值都是瞬时值(例如RT1)。
步骤1:带有不透明值的多源α值
AS=AS·OE
步骤2:自左乘源α
AT1=AS
RT1=RS·AS
GT1=GS·AS
BT1=BS·AS
步骤3:自左乘目标α
AT1=AD
RT1=RD·AD
GT1=GD·AD
BT1=BD·AD
步骤4:混合
AT2=(1-AT1)*AT2+AT1
RT2=(1-AT1)*RT2+RT1
GT2=(1-AT1)*GT2+GT1
BT2=(1-AT1)*BT2+BT1
步骤5:逆向自左乘
如果AT2=0,设置所有的A*R*G*B*为0。
否则:
A*=AT2
R*=RT2/AT2
G*=GT2/AT2
B*=BT2/AT2
剪切属性
剪切属性被指定为几何图形元素<GeometryCollection>或<PathGeometry>之一(细节参见Path Data)。
剪切属性以下列方式应用:
●所有落于由Clip子元素所述的几何元素内的描绘内容均可见。
●所有落于由Clip子元素所述的几何元素外的描绘内容均不可见。
RenderTransform子元素
MatrixTransform是元素可用的仅有变换特性。它表达一仿射变换。语法如下:
<X.RenderTransform>
<MatrixTransform Matrix="1,0,0,1,0,0"/>
</X.RenderTransform>
X represents the element to which the transform is applied.
X表示要应用变换的元素。
在矩阵特性中指定的6个数字为m00、m01、m10、m11、dx、dy。
整个矩阵为:
m00 m01 0
m10 m11 0
dx dy 1
通过应用以下计算,可用RenderTransform变换给定坐标X、Y,以产生结果坐标X’、Y’:
X′=X*m00+Y*m10+dx
Y′=X*m01+Y*m11+dy
OpacityMask子元素
OpacityMask指定了一画笔,但与填充画笔相反,仅有画笔的α频道(参见以上的Opacity特性)被用作描绘该元素的附加参数。然后该元素每个象素的每个α值被乘以OpacityMask画笔中对应位置上的α值。
<Canvas>元素
<Canvas>元素被用以将各元素组合在一起。通常,当固定页面元素共享一合成共同特性时(即Opacity、Clip、RenderTRarsform、或OpacityMask),在<Canvas>中将这些元素组合在一起。通过在Canvas上将这些元素组合在一起,共同特性常常应用于canvas而不是各个元素。
<Canvas>的特性和子元素
<Canvas>仅有前述的共同特性:Opacity、Clip、RenderTRansform、以及OpacityMask。它们与<Canvas>元素一起使用,如下表所述:
特性 | Canvas上的效果 |
不透明 | 定义元素的均匀透明度 |
子元素 | Canvas上的效果 |
Clip | 剪切描述可由Canvas的子元素应用画笔的区域 |
RenderTransform | RenderTransform为Canvas的子元素,诸如另一个Canvas,建立了新的坐标框架。仅支持MatrixTransform。 |
OpacityMask | 将以同样方式应用的α值的长方形遮盖指定为不透明特性,但在逐个象素的基础上允许有不同α值 |
以下标记示例示出了<Canvas>的使用。
<Canvas>
<Path Fill="#0000FF">
<Path.Data>
<PathGeometry>
<PathFigure>
<StartSegment Point="0,0"/>
<PolylineSegment Points="100,0 100,100 0,100
0,0"/>
<CloseSegment/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
</Canvas>
对于Canvas标记中的读取顺序,考虑以下内容。对于固定页面,Canvas内包含的字形子元素的标记顺序必须与文本内容的所需读取顺序相同。该读取顺序可用于来自查看器中给定页面的有序文本的交互选择/复制,也可用于使能由可访问技术对有序文本的访问。产生固定页面标记以确保标记顺序和读取顺序的一致性是应用程序的责任。
包含在嵌套Canvas元素内的子字形元素内嵌于出现在Canvas前后的同属字形元素之间。
示例:
<FixedPaqe>
<Glyphs ...UnicodeString="Now is the time for"/>
<Canvas>
<Glyphs...UnicodeString="all good men and women"/>
<Glyphs...UnicodeString="to come to the aid"/>
</Canvas>
<Glyphs...UnicodeString="of the partv."/>
</FixedPage>
<Path>元素
路径元素是描述几何图形区域的基于XML元素。几何图形区域是可填充的,或用作剪切路径的形状。诸如长方形和椭圆的常用几何图形类型,可使用路径几何图形来表示。通过指定所需Geometry.Data子元素和诸如填充或不透明的描述特性来描述路径。
<Path>的属性和子元素
可应用于<Path>元素的以下属性如下所述:
特性 | 路径上的效果 |
不透明 | 定义被填充路径的均匀透明度 |
子元素 | 路径上的效果 |
Clip | 剪切描述可由路径的几何图形应用画笔的区域 |
RenderTransform | RenderTransform为路径的子元素建立了新的坐标框架,诸如由Path.Data定义的几何图形。仅支持MatrixTransform。 |
OpacityMask | 将以同样方式应用的α值的长方形遮盖指定为不透明特性,但对平面的不同区域允许有不同α值 |
Data | 描述路径的几何图形 |
Fill | 描述用于涂画路径几何图形的画笔 |
为了描述如何涂画由<Path.Data>子元素的几何图形描述的区域,使用Fill(填充)属性。为了限制在区域上可画的<Path.Data>形状,使用Clip(剪切)属性。
使用<Path>来描述几何图形
路径的几何图形被指定为一系列<Path.Data>嵌套子元素,如下所述。几何图形可用以下表示:包含一个<PathGeometry>子元素集的<GeometryCollection>,或者包含<PathFigures>的单个<PathGeometry>子元素。
<Path>
<Path.Data>
<GeometryCollection>
<PathGeometry>
<PathFigure>
...
</PathFigure>
</PathGeometry>
</GeometryCollection>
</Path.Data>
<Path>
同样的<GeometryCollection>或<PathGeometry>元素定义在Canvas、路径、或字形的Clip属性中使用的剪切路径的几何图形。
以下表格介绍定义路径几何图形的子元素分层结构。
几何图形元素 | 描述 |
GeometryCollection | 使用布尔CombineMode操作描绘的PathGeometry元素集 |
PathGeometry | 每个都使用相同FillRule选项填充的PathFigure元素集 |
PathFigure | 一个或多个分段元素的集 |
StartSegmentPolyLineSegmentPolyBezierSegmentCloseSegment |
GeometryCollection
GeometryCollection是组合在一起用于根据布尔CombineMode操作描绘的一个几何图形集。GeometryCollection元素是固定页面标记中用于建立几何图形可视组合的机制。
特性 | GeometryCollection上的效果 |
CombineMode | 指定用于组合几何图形的不同模式 |
CombineMode特性指定用以在GeometryCollection上组合几何图形集的布尔操作。取决于该模式,不同区域将被包括在内或排除在外。
CombineMode元素 | 描述 |
Complement(补) | 指定现有区域由现有区域被从新区域中移除的结果所替换。换言之,现有区域被排除在新区域之外。 |
Exclude(异) | 指定现有区域由现有区域被从现有区域中移除新区域的结果所替换。换言之,新区域被排除在现有区域之外。 |
Intersect(相交) | 通过取两个区域的交集组合两个区域 |
Union(合并) | 通过取两个区域的并集组合两个区域 |
Xor(异或) | 通过取一个区域或另一区域(但不是两个区域)所包围的区域,合并两个区域 |
如下处理CombineModes:
不可交换:补和异是不可交换的,且因此在GeometryCollection中的第一几何图形和剩下的每个几何图形之间定义。例如,对于集{g1,g2,g3},将把异的CombineMode应用为((g1异g2)与(g2异g3))。
可交换:布尔操作合并、异或、或相交是可交换的,且因此将顺序无关应用于各几何图形。
PathGeometry
PathGeometry元素包含一个PathFigure元素集。PathFigure的并集定义了PathGeometry的内核。
特性 | GeometryCollection上的效果 |
FillRule | 指定用于填充描述封闭区域的路径的可选算法 |
对于FillRule特性,考虑以下内容。通过取得让其已填充特性设定为真的所有被包含PathFigure,并应用FillRule以确定封闭区域,来定义PathGeometry的已填充区域。FillRule选项指定如何组合包含在几何图形中图形元素的相交区域,以形成几何图形的结果区域。
根据所述实施例,提供EvenOdd Fill(奇偶填充)和NonZero Fill(非零填充)算法。
通过从一点以任何方向画线条到无限,并检查形状的一部分穿过该线条的地方,奇偶填充算法判断该点在Canvas上的“内在性”。从计数0开始,每当该部分从左到右穿过线条时,加1,而每当该部分从右到左穿过线条时,减1。在对所有交叉点计数之后,如果结果为0,则该点在路径之外,否则,则在内。
通过从一点以任何方向画到无限的线条,并计算该线条穿过给定形状的路径分段数量,非零填充算法判断该点在Canvas上的“内在性”。如果该数为奇,该点在内;如果为偶,该点在外。
PathFigure
PathFigure元素由一根或多根线条或曲线分段的集组成。分段元素定义PathFigure的形状。PathFigure必须总是定义一封闭形状。
特性 | GeometryCollection上的效果 |
FillRule | 指定用于填充描述封闭区域的路径的可选算法 |
图形需要起点,其后每根线条或曲线分段从所添加的最后点继续。PathFigure集中第一分段必须是StartSegment,而CloseSegment必须是最后的分段。StartSegment具有Point(点)特性。CloseSegment没有特性。
StartSegment特性 | 描述 |
Point | 线条分段的位置(起点) |
Path.Data几何图形的固定有效载荷标记
以下提供了用于在Canvas上绘制和填充路径的标记。在以下的特定示例中,在Canvas上绘制长方形路径,并用实心绿色画笔进行填充。
<Canvas>
<Path Fill="#0000FF">
<Path.Data>
<PathGecmetry>
<PathFigure>
<StartSegment Point="0,0"/>
<PolylineSegmentPoints=100,0 100,100 0,100
0,0"/>
<CloseSegment/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
</Canvas>
以下标记描述了绘制三次Bezier曲线。即,除PolyLineSegment之外,固定有效载荷标记包括用于绘制三次Bezier曲线的PolyBezierSegment。
<Canvas>
<Path Fill="#0000FF">
<Path.Data>
<PathGeometry>
<PatbFigure>
<StartSegment Point="0,0"/>
<PolybezierSegment Points="100,0 100,100 0,100
0,0"/>
<CloseSegment/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
</Canvas>
画笔
使用画笔来涂画由<Path>元素定义的几何图形内部,并填充用<Glyphs>元素描绘的字符位图。也在定义<Canvas.OpacityMask>、<Path.OpacityMask>、以及<Glyphs.OpacityMask>的α透明遮盖中使用画笔。固定页面标记包括以下画笔:
画笔类型 | 描述 |
SolidColorBrush | 用纯色填充已定义的几何图形区域 |
ImageBrush | 用图像填充一区域 |
DrawingBrush | 用向量图填充一区域 |
LinearGradientBrush | 用线性梯度填充一区域 |
RadialGradientBrush | 用弧形梯度填充一区域 |
尽管所有画笔都具有Opacity特性,特性格局各画笔而变化。ImageBrush和DrawingBrush共享叠放能力。两个梯度填充画笔也有共同的特性。
画笔子元素在标记中的使用如下所示:
<Path>
<Path.Fill>
<SolidColorBrush Color="#00FFFF"/>
</Path.Fill>
…
</Path>
画笔的共同属性
根据所述实施例,以下属性可用于除简单画笔SolidColorBrush之外的所有画笔,该简单画笔具有较少的可选子元素。
特性 | 画笔类型 | 描述 |
Opacity | 所有画笔 |
子元素 | 画笔类型 | 描述 |
Transform | 除SolidColorBrush之外的所有画笔 | 描述应用于画笔坐标空间的MatrixTransform |
ImageBrsh和DrawingBrush的共同特性
子元素 | 画笔类型 | 描述 |
HorizontalAlignment水平对准 | DrawingBrush,ImageBrush | 中间、左、或右 |
VerticalAlignment竖直对准 | DrawingBrush,ImageBrush | 中间、底部、或顶部 |
ViewBox | DrawingBrush,ImageBrush | |
ViewPort | DrawingBrush,ImageBrush | |
Stretch伸展 | DrawingBrush,ImageBrush | 无、填充、均匀、或均匀填充 |
TileMode | DrawingBrush,ImageBrush | 无、叠放、Y翻转、X翻转、或XY翻转 |
ContentUnits | DrawingBrush,ImageBrush | 绝对或相对地在限定框内 |
ViewportUnits | DrawingBrush,ImageBrush | 绝对或相对地在限定框内 |
水平对准特性指定如何在画笔填充的区域内将画笔水平对准。竖直对准特性指定如何在画笔填充的区域内将画笔竖直对准。ViewBox特性具有缺省值(0,0,0,0)(认为是未经设定)。当未设定时不作调整,且略去Stretch特性。该viewbox为内容指定新的坐标系统,即重新定义viewport的范围和原点。Stretch特性有助于指定那些内容如何映射到viewport中。ViewBox特性的值是4个由空格和/或逗号分隔的无单位数<min-x>、<min-y>、<width>和<height>的列表,且具有类型Rect的。Viewbox rect指定映射到有限框的用户空间中的长方形。它与插入scaleX和scaleY一样工作。Stretch特性(在不是没有选项的情形中)提供用于保持图像高宽比的其它控件。将其它变换应用于给定元素的所有子元素中以获取指定效果。如果在画笔上有变换,则它在对ViewBox的映射“之上”应用。
Stretch特性有以下模式:无、填充、均匀、均匀填充。
Stretch特性选项 | 描述 |
None无 | 缺省,保持原始尺寸 |
填充 | 未保持高宽比,且缩放内容以填充已建边界 |
一致 | 一致调整尺寸,直到图像适合已建边界 |
一致填充 | 一致调整尺寸,直到图像适合已建边界,必要时进行剪切 |
简单画笔及其特性
Path.Brush和Canvas.Brush子元素包括以下:SolidColorBrush、ImageBrush、以及DrawingBrush。
SolidColorBrush用纯色填充几何图形区域。如果有色彩的α组件,则以倍增方法将其与画笔中的相应不透明特性相组合。
特性 | 效果 |
色彩 | 为填充元素指定色彩 |
以下示例示出如何表达SolidColorBrush的色彩特性。
<Path>
<Path.Fill>
<SolidColorBrush Color="#00FFFF"/>
</Path.Fill>
...
</Path>
可使用ImageBrush来用图像填充一空间。ImageBrush的标记使得URI能被指定。如果所有其它特性被设置为其缺省值,可伸展该图像以填充区域的边框。
特性 | 效果 |
ImageSource | 指定图像资源的URI |
ImageSource特性必须指向受支持可及图像格式之一,或导向这些类型之一的图像的选择器。
可使用DrawingBrush来用向量图填充一空间。DrawingBrush具有一绘制子元素,其在标记中的使用如下所示。
<Path>
<Path.Fill>
<DrawingBrush>
<DrawingBrush.Drawing>
<Drawing>
<Path_/>
<Glyphs_/>
</Drawing>
</DrawingBrush.Drawing>
</DrawingBrush>
</Path.Fill>
</Path>
梯度画笔及其特性
通过将一组梯度停止点指定为梯度画笔的XML子元素,可绘制梯度。这些梯度停止点指定依某些渐进的色彩。在该框架中支持两类梯度画笔:线性和弧形。
通过在指定色彩空间的梯度停止点之间作内插,可绘制该梯度。LinearGradientBrush和RadialGradientBrush共享以下共同特性:
特性 | 描述 |
SpreadMethod | 该属性描述画笔应如何填充主要初始梯度区域之外的内容区域。缺省值为Pad。 |
MappingMode | 该属性判断描述梯度的参数是否相关于对象边框进行解释。缺省值是相关于边框。 |
子元素 | 描述 |
GradientStops | 持有GradientStop元素的有序序列 |
对于SpreadMethod特性,考虑以下。SpreadMethod选项指定如何填充空间。缺省值是Pad。
SpreadMethod特性选项 | 梯度上的效果 |
Pad | 第一色彩和最后色彩被分别用以在开始和结束处填充剩余空间 |
Reflect | 以逆向顺序反复重放梯度停止点,以填充空间 |
Repeat | 按序重复梯度停止点直到填充完该空间 |
MappingMethod
对于LinearGradientBrush,考虑以下。LinearGradientBrush指定沿一向量的线性梯度画笔。
特性 | 描述 |
EndPoint终点 | 线性梯度的终点。LinearGradientBrush从起点到终点地内插色彩,其中起点表示偏移0,而终点表示偏移1。缺省为1,1。 |
StartPoint起点 | 线性梯度的起点。 |
以下标记示例示出对LinearGradientBrush的使用。带有长方形路径的页面用线性梯度填充:
<FixedPanel>
<FixedPage>
<Path>
<Path.Fill>
<LinarGradientBrush StartPoint="0,0"EndPoint="1,0">
<LinearGradientBrush.GradientStops>
<GradientStopCollection>
<GradientStop Color="#FF0000"
Offset="0"/>
<GradientStop Color="#0000FF"
Offset="1"/>
</GradientStopCollection>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Path.Fill>
<Path.Data>
<PathGeometry>
<PathFigure>
<StartSegment Point="0,0"/>
<PoiyLineSeggment Points="100,0 100,100 0,100"/>
<CloseSegment/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
</FixedPage>
</FixedPanel>
该示例示出带有用线性梯度填充的长方形路径的页面。该路径也具有剪切它的八角形形状中的剪切属性。
<FixedPanel>
<FixedPage>
<Path>
<Path.Clip>
<PathGeometry>
<PathFigure>
<StartSegment Point="25,0"/>
<PolyLineSegment Points="75,0 100,25
100,75 75,100 25,100 0,75 0,25"/>
<CloseSegment/>
</PathFigure>
</PathGeometry>
</Path.Clip>
<Path.Fill>
<LinearGradientBrush StartPoint="0,0"EndPoint="1,0">
<LinearGradientBrush.GradientStops>
<GradientStopCollection>
Offset="0"/>
<GradientStop Color="#0000FF"
Offset="1"/>
</GradientStopCollection>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Path.Fill>
<Path.Data>
<PathGeometry>
<PathFigure>
<StartSegment Point="0,0"/>
<PolyLineSegment Points="100,0 100,100
0,100"/>
<CloseSegment/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
</FixedPage>
</FixedPanel>
弧形梯度在编程模型中与线性梯度相似。然而,线性梯度具有起点和终点以定义梯度向量,而弧形梯度则具有圆以及焦点,以定义梯度的表现。该圆定义梯度的终点-换言之,在1.0上的梯度停止点定义圆周上的色彩。焦点定义梯度的中心。在0.0上的梯度停止点定义焦点上的色彩。
特性 | 描述 |
Center中心 | 该弧形梯度的中心点。RadialGradientBrush从椭圆的焦点到圆周地均插色彩。该圆周由中心和半径确定。缺省值为0.5,0.5。 |
Focus焦点 | 弧形梯度的焦点 |
RadiusX | 定义弧形梯度的椭圆的X度量中的半径。缺省值为0.5。 |
RadiusY | 定义弧形梯度的椭圆的Y度量中的半径。缺省值为0.5。 |
FillGradient | 填装、反射、重复 |
α和透明度
根据所示和所述实施例,每个元素的每个象素带有范围为0.0(全透明)~1.0(全不透明)的α值。在混合各元素时使用该α值以获取透明度的可视效果。
每个元素可具有不透明特性,用它可使该元素每个象素的α值统一倍增。
此外,OpacityMask允许每个象素不透明性的规范,它将控制如何将描绘内容混合到其目标中。由OpacityMask指定的不透明性可倍增地与在内容的α频道中呈现的任何不透明性相组合。通过查看遮盖中每个象素的α频道,来确定由OpacityMask指定的每个象素不透明性-色彩数据被忽略。
OpacityMask的类型是画笔。这给出了画笔的内容如何以各种不同方式映射到内容范围的规范。正如用以填充几何图形时,画笔在适当处为按需填充整个内容空间、伸展或复制其内容。这意味着,ImageBrush将伸展其ImageSource以完全覆盖内容,而GradientBrush将进行边到边地延伸。
用于α混合的所需计算如前面章节“不透明特征”中所述。
以下示例示出了如何使用OpacityMask来创建字形元素上的“渐变”效果。示例中的OpacityMask是从不透明黑色到透明黑色渐变的线性梯度。
// /content/pl.xml
<FixedPage PageHeight="1056"PageWidth="816">
<Glyphs
OriginX="96"
OriginY="96"
UnicodeString ="This is Page 1!"
FontUri="../Fonts/Times.TTF"
FontRenderingEmSize ="16"
>
<Glyphs.OpacityMask>
<LinearGradientBrush StartPoint="0,0"EndPoint="1,0">
<LinearGradientBrush.GradientStops>
<GradientStopCollection>
<GradientStop Color="#FF000000"Offset="0"/>
<GradientStop Color="#00000000"Offset="1"/>
</GradientStopCollection>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Glyphs.OpacityMask>
</Glyphs>
</FixedPage>
可及文档中的图像
在固定页面上,图像填充封闭区域。为了将图像置于固定页上,必须首先在页面上指定一区域。该区域由路径元素的几何图形定义。
路径元素的填充属性指定所述区域的填充内容。图像是一种填充类型,由ImageBrush画到区域中。所有的画笔具有缺省行为,即通过适当地伸展或重复(叠放)画笔内容来填充整个区域。在ImageBrush的情形中,由ImageSource属性指定的内容将被伸展以完全覆盖该区域。
以下的标记示出如何将图像置于Canvas上。
<Canvas>
<Path>
<Path.Data>
<GeometryCollection>
...
</GeometryCollection>
</Path.Data>
<Path.Fill>
<ImageBrush ImageSource="/images/dog.jpg"/>
</Path.Fill>
</Path>
</Canvas>
因为许多图像是长方形的,在资源字典中包括长方形路径元素在简化标记中是有用的。然后使用RenderTransform特性可定位该路径(参见以上内容)。
<Canvas>
<Canvas.Resources>
<PathGeometry def:Name="Rectangle">
<PathFigure>
<StartSegment Point="0,0"/>
<PolylineSeggment Points="100,0 100,100 0,100"/>
<CloseSegment/>
</PathFigure>
</PathGeometry>
</Canvas.Resources>
<Canvas>
<Canvas.RenderTransform>
<MatrixT ansform Matrix="1,0,0,1,100,100"/>
</Canvas.RenderTransform>
<Path Data="{Rectangle)">.
<Path.Fill>
<ImageBrush ImageSource="/images/dog.jpg"/>
</Path.Fill>
</Path>
</Canvas>
</Canvas>
色彩
在所示和所述标记中可使用scRGB或sRGB符号来指定色彩。scRGB规范称为“IEC 61966-2-2scRGB”并可从
www.iec.ch获取。
ARGB参数可如下表所述。
名称 | 描述 |
R | 当前色彩的红色scRGB组件 |
G | 当前色彩的绿色scRGB组件 |
B | 当前色彩的蓝色scRGB组件 |
A | 当前色彩的αscRGB组件 |
色彩映射
目前,要考虑带有指定色彩上下文的元数据的色彩元素标记。这种元数据可包含ICC色彩简介,或其它色彩定义数据。
<Glyphs>元素
使用字形元素在固定有效载荷中表示文本。该元素被设计成符合打印和可及文档的要求。
字形元素可具有以下属性的组合。
属性 | 目的 | 标记表示(字形元素) |
Origin起点 | 笔划中打印字形的起点。放置该字形使得其提升向量的导向边及其基线在此点上相交。 | 由OriginX和OriginY属性指定 |
FontRenderingEmSize | 绘制平面单元中的字体尺寸(缺省为1英寸的1/96) | 用长度单元度量 |
FontHintingEmSize | 字号为单位的微调尺寸。字体可包括微调,以产生不同尺寸上的微小差异,诸如在较小尺寸时直立笔划较粗而凹形更宽以产生更像与纯缩放相同的风格。这不同于自动处理的装置象素分辨率的微调。到日期2003年5月,没有已知字体包括尺寸微调。缺省值为12字号。 | 用双精度值度量,表示字体的字号尺寸。 |
GlyphIndices | 表示该笔划的16比特字形数的数组 | Indices(索引)属性的一部分。其表示如下 |
AdvanceWidths | 提升宽度数组,在GlyphIndices中每个字形的宽度。笔划中第n个字形(n>0)的名义起点是第n-1个字形的名义起点+第n-1提升宽度+笔划提升向量。通常基本字形具有非零提升宽度,而组合字形通常具有零提升宽度。 | Indices(索引)属性的一部分。其表示如下 |
GlyphOffsets | 字形配置的数据。加到以上计算的名义字形起点上,以产生该字形的最后起点。通常基本字形具有字形偏置为(0,0),而组合字形通常具有一偏置,该偏置将正确地置它们于前面最近的基本字形之上。 | Indices(索引)属性的一部分。其表示如下 |
GlyphTypeface | 从中绘制此笔划中所有字形的物理字体。 | FontUri、FontFaceIndex、以及StyleSimulationsproperties |
UnicodeString | 可选*由该字形笔划表示的字符数组。*注意,对于从Win32打印机驱动器产生的GlyphRun,初始由Win32ExtTextOut(ETO_GLYPH_INDEX)调 | 是 |
用打印的文本传送到带有字形索引而没有Unicode码点的驱动器。在此情形中,所产生的字形标记以及所构建的GlyphRun对象将略去码点。没有了码点,诸如在固定格式查看器中的剪切、粘贴或搜索的功能就不可用,然而文本显示仍是可能的。 | ||
ClusterMap | UnicodeString中每个字符一个条目。每个值给出表示UnicodeString中相应字符的GlyphIndices中第一字形的偏置。当多个字符映射到单个字形,或者单个字符映射到多个字形,或多个字符不可分地映射到多个字形时,(多个)字符和(多个)字形被称为一集聚。多字符集聚的ClusterMap中所有条目映射为该集聚第一字形的GlyphIndices数组中的偏置。 | Indices(索引)属性的一部分。其表示如下 |
Sideways | 字形被置于其侧面。缺省地,字形被示为它们将是水平文本,带有与Western基线起点相对应的起点。有了侧面标记集,字形转向其侧面,而起点在未转动字形的顶部中心位置。 | 是 |
BidiLevel | Unicode算法bidi嵌套层。偶数值隐含了从左到右的布局,而奇数值隐含了从右到左的布局。从右到左的布局将笔划起点置于第一字形的右侧,其提升向量中的正值将随后的字形置于前面字形的左侧。 | 是 |
Brush画笔 | 用于绘制字形的前景画笔 | 从ShapeFill属性中选取 |
Language语言 | 笔划的语言,通常来自标记的xml:lang属性 | 由xml:lang属性指定 |
文本标记的纵览
字形度量
每个字形定义如何与其它字形对齐的度量。根据一实施例的示例性度量如图12所示。
提升宽度和组合标记
一般而言,字体中的字形是基本字形,或可附于基本字形的组合字形。通常基本字形具有非零的提升宽度,以及0,0的偏置向量。组合字形通常具有零提升宽度。偏置向量可用以调整组合标记的位置,因此对于组合标记可具有非0,0值。
字形笔划中的每个字形具有控制其位置的三个值。这些值表示起点、提升宽度、以及字形偏置,其中每一个如下所述:
●起点:假设每个字形都给予一名义起点,对于该笔划中的第一字形,这是该笔划的起点。
●提升宽度:每个字形的提升宽度提供相对于该字形起点的下一字形的起点。提升向量总是在笔划渐进方向上提取。
●字形偏置(基本或标记):字形偏置向量调整相对于其名义起点的字形位置。
字符、字形和集聚映射
集聚映射对每个Unicode码点包含一个条目。该条目中的值是表示该码点的GlyphIndices数组中第一字形的偏置。或者,当该码点是表示不可分字符集聚的码点组的一部分时,GlyphIndices数组中的第一字形代表对该集聚进行表示的第一字形偏置。
集聚映射
集聚映射可表示一对一、多对一、一对多、或多对多的码点与字形的映射。一对一映射是在每个码点准确地由一个字形表示的情况,图13中的集聚映射条目为0,1,2,......。
多对一映射是在两个或多个码点映射到单个字形时。那些码点的条目指定字形索引缓存中该字形的偏置。在图14的示例中,‘f’和‘i’字符已被一连字符替换,与许多衬线字体中公共的排字实践一样。
对于一对多映射,结合图15考虑以下内容。‘SaraAm’包含位于先前基本字符(环)之上的一部分,以及位于基本字符(钩)右侧的一部分。当微调泰文时,钩从基本字符上隔开,而环仍保留在基本字符之上,因此许多字体将环和钩编码为单独字形。当一码点映射到两个或多个字形时,该码点ClusterMap中的值指向表示该码点GlyphIndices数组中的第一字形。
对于多对多映射,结合图16考虑以下内容。在某些字体中字符集聚的一不可分码点组映射到一个以上字形。例如,这在支持印度脚本的字体中是普通的。当一不可分码点组映射到一个或多个字形时,每个码点ClusterMap中的值指向表示该码点GlyphIndices数组中的第一字形。
以下示例示出泰米尔字的Unicode和字形表示。前两个码点组合以产生三个字形。
指定集聚
集聚规范优先于非1∶1集聚第一字形的字形规范(映射比一字符对一字形复杂得多)。
每个集聚规范具有以下形式:
(ClusterCodepointCount(集聚码点计数)[:ClusterGlyphCount(集聚字形计数)])
集聚规范部分 | 类型 | 目的 | 缺省值 |
ClusterCodepointCount | 正整数 | 组合以形成该集聚的16比特Unicode码点的数量 | 1 |
ClusterGlyphCount | 正整数 | 组合以形成该集聚的16比特字形码点的数量 | 1 |
<Glyphs>标记
字形元素将字体指定为URI、外观索引、以及一个其它特性集,如上所述。例如:
<GlyphsFontUri ="file://c:/windows/fonts/times.ttf"FontFaceIndex ="0" <!--Default 0==>FontRenderingEmSize ="20" <!--No default-->FontHintingEmSize ="12" <!--Default 12-->StyleSimulations ="BoldSimulation" <!--Default None-->Sideways ="false" <!--Default false-->BidiLevel ="0" <!--Default 0-->Unicode ="..." <!--Unicode rep-->Indices ="..." <!--See below-->remaining attributes .../> |
每个字形规范具有以下形式:
[GlyphIndex][,[Advance][,[uOffset][,[vOffset][,[Flags]]]]]
该字形规范的每个部分都是可选的。
字形规范部分 | 目的 | 缺省值 |
GlyphIndex | 描绘物理字体中的字形索引 | 由内部文本中相应Unicode码点的字体字符映射表格定义 |
Advance | 下一字形相对于该字形起点的安置。在提升方向上的测量由Sideways和Bidilevel特性定义。以字体全长尺寸的1/100为单位来测量。必须计算提升量从而使得舍入误差不会累积。如何达到该要求参见以下注释。 | 由字体HTMX或VTMX字体度量表格定义 |
uOffset,vOffset | 相对于字形起点移动该字形的偏置。通常用以将标记附于基本字符。以字体全长尺寸的1/100为单位来测量。 | 0,0 |
Flags | 辨别基本字形和组合标记 | 0(基本字形) |
对于计算无舍入误差积累的提升,考虑以下内容。必须将每个提升值计算为随后字形准确未舍入起点-前面字形经计算(即经舍入)提升宽度之和。这样,每个字形被定位于在其准确位置全长的0.5%之内。
字形标记示例
<Canvas xmlns="http://schemas.microsoft.com/2005/xaml/"><GlyphsFontUri ="file://c:/windows/fonts/times.ttf"FontFaceIndex ="0"FontRenderingEmSize ="20"FontHintingEmSize ="12"StyleSimulations ="ItalicSimulation"Sideways ="false"BidiLevel ="0"OriginX ="75"OriginY ="75"Fill ="#00FF00"UnicodeString ="innertext..."/><!--′Hello Windows′without kerning--><GlyphsOriginX ="200"OriginY ="50"UnicodeString ="Hello,Windows !"FontUri ="file://C:/Windows/Fonts/Times.TTF"Fill ="#00FF00"FontRenderingEmSize ="20"/><!--′Hello Windows′with kerning--><GlyphsOriginX ="200"OriginY ="150"UnicodeString ="Hello,Windows !"Indices =";;;;;;;,89"FontUri ="file://C:/Windows/Fonts/Times.TTF"Fill ="#00FF00"FontRenderingEmSize ="20"/><!--′Open file′without ′fi′ligature--><GlyphsOriginX ="200"OriginY ="250"UnicodeString ="Open file"FontUri ="file://C:/Windows/Fonts/Times.TTF" |
Fill ="#00FF00"FontRenderingEmSize ="20"/><!--′Open file′with′fi′ligature--><GlyphsOriginX ="200"OriginY ="350"UnicodeString ="Open file"Indices =";;;;;(2:1)191"FontUri ="file://C:/Windows/Fonts/Times.TTF"Fill ="#00FF00"FontRenderingEmSize ="20"/><!--′ёжиквтумане′using pre-composed′ё′--><GlyphsOriginX ="200"OriginY ="450"xml:lang ="ru-RU"UnicodeString ="ёжиквтумане"FontUri ="file://C:/Windows/Fonts/Times.TTF"Fill ="#00FF00"FontRenderingEmSize ="20"/><!--′ёжиквтумане′using composition of′e′and diaeresis--><GlyphsOriginX ="200"OriginY ="500"xml:lang ="ru-RU"UnicodeString ="ёжиквтумане"Indices ="(1:2)72;142,0,-45"FontUri ="C:/Windows/Fonts/Times.TTF"Fill ="#00FF00"FontRenderingEmSize ="20"/><!--′ёжиквтумане′Forced rendering right-to-leftshowingcombining mark in logical order--><GlyphsOriginX ="200"OriginY ="550"BidiLevel ="1"xml:lang ="ru-RU"UnicodeString ="ёжиквтумане"Indices ="(1:2)72;142,0,-45"FontUri ="file://C:/Windows/Fonts/Times.TTF"Fill ="#00FF00"FontRenderingEmSize ="20"/></Canvas> |
最优化字形标记的尺寸
如果目标客户机能可靠地再生它们,诸如字形索引和提升宽度的标记细节可从该标记中略去。以下选项允许常用简单脚本的显著优化。
最优化字形索引的标记
在以下情形中可从标记中略去字形索引:在Unicode字符串中字符的位置与字形字符串中字形的位置之间有一对一映射、字形索引是字体CMAP(字符映射)表格中的值、以及Unicode字符具有明确语义。
当字符对字形的映射为以下情形时,应在标记中提供字形索引:
●不是一对一,诸如当两个或多个码点形成单个字形(连字)时,或
●一码点产生多个字形,或
●当已出现字形替换的任何其它形式时,诸如通过OpenType特征的应用。
当描绘引擎可替换与字体CMAP(字符映射)表格中不同的字形时,应在标记中提供字形索引。当所需字形表示不在字体的CMAP表格中,应提供字形索引。
最优化字形位置的标记
当所需提升宽度确实是用于字体的HMTX(水平度量)或VMTX(竖直度量)表格中的字形时,可从标记中略去字形提升宽度。
字形竖直偏置为零时,可从标记中略去。这对基本字符而言几乎总是真的,而对在更简单脚本中组合标记而言通常是真的。然而,对于在诸如阿拉伯和印度等更复杂的脚本中这常常是假的。
最优化字形标记的标记
对于带有正常齐行优先级的基本字形,可略去字形标记。
结论
上述模型内容框架和文档格式方法和系统提供了一组基块,用于组成、封装、分发、以及描绘以文档为中心的内容。这些基块定义的文档格式的与平台无关框架,该框架使得软件和硬件系统能够可靠地并一致地产生、交换、和显示文档。所示和所述可及包格式以一方式提供用于存储分页或预先分页文档的格式,该方式可在广泛环境中的装置和应用程序之间以及及广泛情形中全保真地显示或打印可及包的内容。尽管本发明以结构化特征和/或方法论步骤的专用语言进行了描述,但可以理解在所附权利要求书中定义的本发明不必限于所述特定特征或步骤之中。相反,特定特征和步骤被揭示为实现本发明的优选形式。
Claims (38)
1.一种方法,其特征在于,包括:
接收一文档用于进行处理;
标识在所述文档中包含的特性;
确定与所述文档中每个特性相关联的一缺省处理行为;
当处理所述文档时:
如果一特性未得到理解,并设置所述特性的缺省处理行为以略去新的特征,在所述文档中略去所述特性;
如果一特性未得到理解,并设置所述特性的缺省处理行为以要求对各特性的理解,暂停对所述文档的处理;以及
如果特性得到理解,则处理所述文档中的所述特性。
2.如权利要求1所述的方法,其特征在于,属性包括包含于所述文档中的元素。
3.如权利要求1所述的方法,其特征在于,在处理所述文档的不同部分时所述缺省处理行为可变化。
4.如权利要求1所述的方法,其特征在于,略去一特性包括:
如果一携带参数活动,则保留所述被略去特性以备后用;以及
如果一携带参数不活动,则丢弃所述被略去特性。
5.如权利要求4所述的方法,其特征在于,保留所述略去特性包括存储所述特性用于在后来进程中使用。
6.如权利要求1所述的方法,其特征在于,所述缺省处理行为由一组兼容性规则属性设置。
7.如权利要求1所述的方法,其特征在于,还包括标识与可略去内容相关联的行为。
8.如权利要求1所述的方法,其特征在于,所述缺省处理行为由可略去和必须理解参数来设置。
9.如权利要求1所述的方法,其特征在于,所述文档由一读取器应用程序进行处理。
10.如权利要求1所述的方法,其特征在于,所述文档中包含的所述特性是XML特性。
11.一种或多种具有计算机可读指令的计算机可读介质,所述指令在执行时实现权利要求1所述的方法。
12.一种计算系统包括权利要求11的所述计算机可读介质。
13.一种方法,其特征在于,包括:
接收一文档用于进行处理;
确定与所述文档中各元素相关联的一缺省处理行为;
确定可略去内容的行为;
当处理所述文档时:
如果一元素未得到理解,并设置所述元素的缺省处理行为以略去新的特征,在所述文档中略去所述元素;
如果一元素未得到理解,并设置所述元素的缺省处理行为以要求对各元素的理解,暂停对所述文档的处理;以及
如果元素得到理解,则继续处理所述文档。
14.如权利要求13所述的方法,其特征在于,在处理所述文档的不同部分时所述缺省处理行为可变化。
15.如权利要求13所述的方法,其特征在于,所述文档中的元素是XML元素。
16.一种系统,其特征在于,包括:
一种或多种计算机可读介质;
驻留于所述介质上的软件指令,所述指令在执行时能够用包括下列标记表示来表示一文档:
一第一元素,其控制应用程序如何对未知特性作出反应;
一第二元素,其声明一相关联名空间是可略去的;
一第三元素,其指定对可略去内容的行为;以及
一第四元素,其逆转了经声明可略去名空间的效果。
17.如权利要求16所述的系统,其特征在于,还包括指定优选内容的一第五元素。
18.如权利要求17所述的系统,其特征在于,还包括指定可由所述优选内容替换的内容的一第六元素。
19.如权利要求16所述的系统,其特征在于,还包括指定是否保留或丢弃被略去特性的一第五元素。
20.如权利要求16所述的系统,其特征在于,所述标记表示是一XML标记表示。
21.如权利要求16所述的系统,其特征在于,所述标记表示基于名空间统一资源标识符。
22.如权利要求16所述的系统,其特征在于,所述标记表示使得使用新标记特征的文档能由不理解所述新标记特征的应用程序进行处理。
23.如权利要求16所述的系统,其特征在于,所述应用程序是一读取器应用程序。
24.如权利要求16所述的系统,其特征在于,所述应用程序是一解析器。
25.如权利要求16所述的系统,其特征在于,可略去内容的所述行为包括略去与一特定特性相关联的所有内容。
26.如权利要求16所述的系统,其特征在于,可略去内容的所述行为包括:
略去一特定特性;以及
略去所有与所述特定特性相关联的内容。
27.如权利要求16所述的系统,其特征在于,可略去内容的所述行为包括:
略去与一特定特性相关联的内容;以及
处理所述特定特性中嵌套的内容。
28.一种方法,其特征在于,包括:
创建一定义文档的包,其中所述文档包括组成所述文档的多个部分,且所述多个部分的每一个具有一相关联名字;以及
包括与所述多个部分相关联的一标记表示,所述标记表示包括:
一优选内容,其由能够处理所述优选内容的应用程序使用;以及
一后退内容,其由不能处理所述优选内容的应用程序使用。
29.如权利要求28所述的方法,其特征在于,所述标记表示还包括控制应用程序如何对于未知特性作出反应的一元素。
30.如权利要求28所述的方法,其特征在于,所述标记表示还包括将名空间声明为可略去的一元素。
31.如权利要求28所述的方法,其特征在于,所述标记表示还包括将与名空间相关联的所有元素和特性都声明为可略去的一元素。
32.如权利要求28所述的方法,其特征在于,所述标记表示还包括指定对可略去内容的行为的一元素。
33.如权利要求28所述的方法,其特征在于,所述标记表示还包括逆转被声明可略去名空间的所述效果的一元素。
34.如权利要求28所述的方法,其特征在于,所述优选内容及所述后退内容可以任意方式嵌套。
35.如权利要求28所述的方法,其特征在于,在处理所述标记表示期间,如果所述优选内容指示暂停处理,则所述标记表示的处理用所述后退内容继续。
36.如权利要求28所述的方法,其特征在于,所述标记表示还包括控制应用程序如何对未知特性作出反应的一特性。
37.一种或多种具有计算机可读指令的计算机可读介质,所述指令在执行时实现所述权利要求28的方法。
38.一种包括权利要求37的所述计算机可读介质的计算系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/837,043 US8661332B2 (en) | 2004-04-30 | 2004-04-30 | Method and apparatus for document processing |
US10/837,043 | 2004-04-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1799046A true CN1799046A (zh) | 2006-07-05 |
Family
ID=35240754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800013129A Pending CN1799046A (zh) | 2004-04-30 | 2004-07-22 | 用于文档处理的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8661332B2 (zh) |
EP (1) | EP1658565A4 (zh) |
JP (2) | JP4854658B2 (zh) |
KR (1) | KR101137171B1 (zh) |
CN (1) | CN1799046A (zh) |
WO (1) | WO2005111848A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064871A (zh) * | 2011-10-20 | 2013-04-24 | 佳能株式会社 | 文档管理装置及其控制方法 |
CN101452408B (zh) * | 2007-11-28 | 2013-07-17 | 国际商业机器公司 | 在软件应用程序中进行错误报告的系统和方法 |
CN108536890A (zh) * | 2012-11-12 | 2018-09-14 | 罗克韦尔自动化技术公司 | 用于人机接口动画图形元素的计算机辅助设计的方法及装置 |
CN109933752A (zh) * | 2017-12-15 | 2019-06-25 | 北京京东尚科信息技术有限公司 | 一种导出电子文档的方法和装置 |
CN113760246A (zh) * | 2021-09-06 | 2021-12-07 | 网易(杭州)网络有限公司 | 应用程序文本语言处理方法、装置、电子设备及存储介质 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003901428A0 (en) * | 2003-03-24 | 2003-04-10 | Objective Systems Pty Ltd | A system and method for formatting and distributing reading material |
US7383500B2 (en) | 2004-04-30 | 2008-06-03 | Microsoft Corporation | Methods and systems for building packages that contain pre-paginated documents |
US8661332B2 (en) | 2004-04-30 | 2014-02-25 | Microsoft Corporation | Method and apparatus for document processing |
WO2005124579A1 (en) * | 2004-06-17 | 2005-12-29 | Objective Systems Pty Limited | Reproduction of documents into requested forms |
US7984037B2 (en) * | 2004-07-16 | 2011-07-19 | Canon Kabushiki Kaisha | Method for evaluating xpath-like fragment identifiers of audio-visual content |
US7770180B2 (en) | 2004-12-21 | 2010-08-03 | Microsoft Corporation | Exposing embedded data in a computer-generated document |
US8135750B2 (en) * | 2005-04-22 | 2012-03-13 | Microsoft Corporation | Efficiently describing relationships between resources |
US7386558B2 (en) * | 2005-04-22 | 2008-06-10 | Microsoft Corporation | Methods and systems for filtering an Extensible Application Markup Language (XAML) file to facilitate indexing of the logical content contained therein |
WO2006116676A2 (en) | 2005-04-28 | 2006-11-02 | Wms Gaming Inc. | Wagering game device having ubiquitous character set |
US8751922B2 (en) * | 2005-08-09 | 2014-06-10 | Zalag Corporation | Methods and apparatuses to assemble, extract and deploy content from electronic documents |
EP1965314A4 (en) * | 2005-12-05 | 2009-04-01 | Sursen Corp | SYSTEM AND METHOD FOR DOCUMENT PROCESSING |
US20130179774A1 (en) * | 2005-12-05 | 2013-07-11 | Sursen Corp. | Method and apparatus for processing document conforming to docbase standard |
EP1965309A4 (en) * | 2005-12-05 | 2009-04-01 | Sursen Corp | SYSTEM AND METHOD FOR HIERARCHISTIC PROCESSING OF DOCUMENTS |
EP1965310A4 (en) * | 2005-12-05 | 2009-02-11 | Sursen Corp | DOCUMENTARY PROCESSING METHOD |
WO2007065354A1 (fr) * | 2005-12-05 | 2007-06-14 | Beijing Sursen Co., Ltd | Procede et systeme de gestion de la securite des donnees d'un document |
CN100547590C (zh) * | 2005-12-05 | 2009-10-07 | 北京书生国际信息技术有限公司 | 文档处理系统 |
US20080104203A1 (en) * | 2006-10-31 | 2008-05-01 | Microsoft Corporation | Viewing Digital Information Over a Network |
AU2006249239B2 (en) * | 2006-12-07 | 2010-02-18 | Canon Kabushiki Kaisha | A method of ordering and presenting images with smooth metadata transitions |
US7855799B2 (en) * | 2007-01-16 | 2010-12-21 | Shah Pradip K | Print workflow automation |
CA2703912C (en) * | 2007-10-27 | 2016-09-27 | Research In Motion Limited | Content disposition system and method for processing message content in a distributed environment |
US9558172B2 (en) | 2008-03-12 | 2017-01-31 | Microsoft Technology Licensing, Llc | Linking visual properties of charts to cells within tables |
US8856647B2 (en) * | 2009-02-20 | 2014-10-07 | Microsoft Corporation | Font handling for viewing documents on the web |
US20110072371A1 (en) * | 2009-09-18 | 2011-03-24 | Microsoft Corporation | Application programming interface for user interface creation |
US20110115797A1 (en) * | 2009-11-19 | 2011-05-19 | Kaplan Gregory A | Dynamic Streaming of Font Subsets |
US8938668B2 (en) | 2011-08-30 | 2015-01-20 | Oracle International Corporation | Validation based on decentralized schemas |
US8643652B2 (en) | 2010-08-31 | 2014-02-04 | Adobe Systems Incorporated | Dynamic augmentation of extensible font subsets |
US20130173522A1 (en) * | 2011-10-04 | 2013-07-04 | Paul William Watkinson | System and method for applying distinguishing indicia to language in a model |
US9240073B2 (en) * | 2011-11-15 | 2016-01-19 | Pixar | File format for representing a scene |
CN102520899B (zh) * | 2011-12-07 | 2014-08-06 | 中国航空无线电电子研究所 | 通用座舱显示管理系统 |
KR101812380B1 (ko) | 2012-01-23 | 2017-12-26 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 공식 검출 엔진 |
US20140164904A1 (en) * | 2012-08-20 | 2014-06-12 | Open-Xchange, Inc. | Content management system |
US10489493B2 (en) | 2012-09-13 | 2019-11-26 | Oracle International Corporation | Metadata reuse for validation against decentralized schemas |
KR101383726B1 (ko) | 2012-12-17 | 2014-04-08 | 현대자동차(주) | 로봇의 민감도 향상방법 |
US20140258852A1 (en) * | 2013-03-11 | 2014-09-11 | Microsoft Corporation | Detection and Reconstruction of Right-to-Left Text Direction, Ligatures and Diacritics in a Fixed Format Document |
US9330070B2 (en) | 2013-03-11 | 2016-05-03 | Microsoft Technology Licensing, Llc | Detection and reconstruction of east asian layout features in a fixed format document |
US9497151B2 (en) * | 2013-10-31 | 2016-11-15 | Oracle International Corporation | Optimization framework for in-memory storage of policy session data |
US9792276B2 (en) | 2013-12-13 | 2017-10-17 | International Business Machines Corporation | Content availability for natural language processing tasks |
US20160378735A1 (en) * | 2015-06-29 | 2016-12-29 | Microsoft Technology Licensing, Llc | Metamorphic documents |
CN105786779B (zh) * | 2016-03-01 | 2019-03-05 | 万达信息股份有限公司 | Wps在线插件中实现基于文档模板的多行报告的方法 |
CN108170660B (zh) * | 2018-01-22 | 2021-08-06 | 北京百度网讯科技有限公司 | 多语言排版的显示方法、装置、浏览器、终端及介质 |
KR102385792B1 (ko) * | 2021-10-09 | 2022-04-14 | (주) 바우디움 | 안내 문서, 행위 문서 및 제안 문서를 관리하는 방법 및 이를 이용한 장치 |
Family Cites Families (450)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4410286A (en) | 1981-06-16 | 1983-10-18 | International Business Machines Corporation | Printing complex characters |
US4594674A (en) | 1983-02-18 | 1986-06-10 | International Business Machines Corporation | Generating and storing electronic fonts |
US4556959A (en) | 1983-03-29 | 1985-12-03 | International Business Machines Corp. | Printer selection of options |
US4870611A (en) | 1983-11-15 | 1989-09-26 | International Business Machines Corporation | Apparatus and method for system printing mode control |
US4649513A (en) | 1983-11-15 | 1987-03-10 | International Business Machines Corporation | Apparatus and method for processing system printing data records on a page printer |
US5148366A (en) | 1989-10-16 | 1992-09-15 | Medical Documenting Systems, Inc. | Computer-assisted documentation system for enhancing or replacing the process of dictating and transcribing |
US5179702A (en) | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
WO1991014222A1 (en) | 1990-03-05 | 1991-09-19 | Interleaf, Inc. | Extensible electronic document processing system for creating new classes of active documents |
US5222205A (en) | 1990-03-16 | 1993-06-22 | Hewlett-Packard Company | Method for generating addresses to textured graphics primitives stored in rip maps |
US5504818A (en) | 1991-04-19 | 1996-04-02 | Okano; Hirokazu | Information processing system using error-correcting codes and cryptography |
US6484189B1 (en) | 1991-04-26 | 2002-11-19 | Amiga Development Llc | Methods and apparatus for a multimedia authoring and presentation system |
US6005574A (en) | 1991-07-05 | 1999-12-21 | International Business Machines Corporation | Data processing system including method and apparatus for performing graphics clipping operations |
CA2098461A1 (en) | 1992-06-17 | 1993-12-18 | Antony S. Williams | Method and system for registering data formats for objects |
US5437008A (en) | 1992-06-23 | 1995-07-25 | Adobe Systems Incorporated | Method of establishing constraints and links in a distribution frame between graphical elements and resolving the constaints |
US5469533A (en) | 1992-07-10 | 1995-11-21 | Microsoft Corporation | Resource-oriented printer system and method of operation |
US5638498A (en) | 1992-11-10 | 1997-06-10 | Adobe Systems Incorporated | Method and apparatus for reducing storage requirements for display data |
DE69331064T2 (de) | 1992-12-14 | 2002-07-18 | Commw Of Australia Canberra | Sicherheit einer elektronischen nachricht |
US5745910A (en) | 1993-05-10 | 1998-04-28 | Apple Computer, Inc. | Frame structure which provides an interface between parts of a compound document |
US5911138A (en) | 1993-06-04 | 1999-06-08 | International Business Machines Corporation | Database search facility having improved user interface |
US5487138A (en) | 1993-09-02 | 1996-01-23 | Hewlett-Packard Company | Method to reduce memory requirements in Asian printers while improving performance |
US5369702A (en) | 1993-10-18 | 1994-11-29 | Tecsec Incorporated | Distributed cryptographic object method |
US5537526A (en) | 1993-11-12 | 1996-07-16 | Taugent, Inc. | Method and apparatus for processing a display document utilizing a system level document framework |
US5752056A (en) | 1994-03-02 | 1998-05-12 | Apple Computer, Inc. | System for binding document parts and handlers by fidelity of parts or by automatic translation of parts |
US5649083A (en) | 1994-04-15 | 1997-07-15 | Hewlett-Packard Company | System and method for dithering and quantizing image data to optimize visual quality of a color recovered image |
US5608909A (en) | 1994-04-15 | 1997-03-04 | Microsoft Corporation | Method and system for caching presentation data of a source object in a presentation cache |
US5806078A (en) | 1994-06-09 | 1998-09-08 | Softool Corporation | Version management system |
AUPM704594A0 (en) | 1994-07-25 | 1994-08-18 | Canon Information Systems Research Australia Pty Ltd | Efficient methods for the compositing of graphical elements |
US5579466A (en) | 1994-09-01 | 1996-11-26 | Microsoft Corporation | Method and system for editing and formatting data in a dialog window |
US5881213A (en) | 1994-10-05 | 1999-03-09 | Microsoft Corporation | Deferred printing |
US5602974A (en) | 1994-10-05 | 1997-02-11 | Microsoft Corporation | Device independent spooling in a print architecture |
US6571279B1 (en) | 1997-12-05 | 2003-05-27 | Pinpoint Incorporated | Location enhanced information delivery system |
JPH08297669A (ja) | 1994-12-27 | 1996-11-12 | Internatl Business Mach Corp <Ibm> | 複合ドキュメント内の複数のパートを自動的にリンクするシステムおよび方法 |
JPH08212205A (ja) | 1995-02-07 | 1996-08-20 | Nec Corp | 複合文書管理システム |
CA2214972C (en) | 1995-02-22 | 2000-07-18 | Agust Sverrir Egilsson | Graphical environment for managing and developing applications |
US5929852A (en) | 1995-05-05 | 1999-07-27 | Apple Computer, Inc. | Encapsulated network entity reference of a network component system |
US6952801B2 (en) | 1995-06-07 | 2005-10-04 | R.R. Donnelley | Book assembly process and apparatus for variable imaging system |
US5699493A (en) | 1995-06-23 | 1997-12-16 | Lexmark International, Inc. | Method and apparatus for providing job accounting information to a host computer from a printer |
US6199082B1 (en) | 1995-07-17 | 2001-03-06 | Microsoft Corporation | Method for delivering separate design and content in a multimedia publishing system |
US5675788A (en) | 1995-09-15 | 1997-10-07 | Infonautics Corp. | Method and apparatus for generating a composite document on a selected topic from a plurality of information sources |
JPH09128380A (ja) | 1995-10-30 | 1997-05-16 | Matsushita Electric Ind Co Ltd | 文書蓄積管理システム |
JPH09128379A (ja) | 1995-11-06 | 1997-05-16 | Hitachi Ltd | 情報処理方法 |
US5727220A (en) | 1995-11-29 | 1998-03-10 | International Business Machines Corporation | Method and system for caching and referencing cached document pages utilizing a presentation data stream |
US5893109A (en) | 1996-03-15 | 1999-04-06 | Inso Providence Corporation | Generation of chunks of a long document for an electronic book system |
US5940581A (en) | 1996-03-21 | 1999-08-17 | Apple Computer, Inc. | Dynamic font management for large character sets |
US5903903A (en) | 1996-04-25 | 1999-05-11 | Microsoft Corporation | System for determining the sequence and placement of pages for a multiple-page document |
US5903905A (en) | 1996-04-30 | 1999-05-11 | Microsoft Corporation | Method for simultaneously constructing and displaying a dynamic preview of a document that provides an accurate customized document |
JP3695595B2 (ja) | 1996-05-14 | 2005-09-14 | 株式会社リコー | Java対応型プリンタ |
US6457017B2 (en) | 1996-05-17 | 2002-09-24 | Softscape, Inc. | Computing system for information management |
US5933841A (en) | 1996-05-17 | 1999-08-03 | Ameritech Corporation | Structured document browser |
US6026416A (en) | 1996-05-30 | 2000-02-15 | Microsoft Corp. | System and method for storing, viewing, editing, and processing ordered sections having different file formats |
JPH1021023A (ja) | 1996-07-02 | 1998-01-23 | Ibm Japan Ltd | データ出力制御装置 |
GB2314957A (en) | 1996-07-05 | 1998-01-14 | Esselte Nv | Label printer |
US5974548A (en) | 1996-07-12 | 1999-10-26 | Novell, Inc. | Media-independent document security method and apparatus |
US20040139049A1 (en) | 1996-08-22 | 2004-07-15 | Wgrs Licensing Company, Llc | Unified geographic database and method of creating, maintaining and using the same |
US6144974A (en) | 1996-12-13 | 2000-11-07 | Adobe Systems Incorporated | Automated layout of content in a page framework |
JP2001508883A (ja) | 1996-12-20 | 2001-07-03 | ファイナンシャル サーヴィシーズ テクノロジー コンソーティアム | 電子文書を処理する方法およびシステム |
US6138162A (en) | 1997-02-11 | 2000-10-24 | Pointcast, Inc. | Method and apparatus for configuring a client to redirect requests to a caching proxy server based on a category ID with the request |
US6449653B2 (en) | 1997-03-25 | 2002-09-10 | Microsoft Corporation | Interleaved multiple multimedia stream for synchronized transmission over a computer network |
US6023714A (en) | 1997-04-24 | 2000-02-08 | Microsoft Corporation | Method and system for dynamically adapting the layout of a document to an output device |
JPH113072A (ja) * | 1997-06-12 | 1999-01-06 | Sony Corp | 情報ネットワークシステム及び通信端末 |
US6269403B1 (en) | 1997-06-30 | 2001-07-31 | Microsoft Corporation | Browser and publisher for multimedia object storage, retrieval and transfer |
US6604144B1 (en) | 1997-06-30 | 2003-08-05 | Microsoft Corporation | Data format for multimedia object storage, retrieval and transfer |
US6078934A (en) | 1997-07-09 | 2000-06-20 | International Business Machines Corporation | Management of a document database for page retrieval |
US8386912B2 (en) | 1997-07-28 | 2013-02-26 | Ca, Inc. | Hypermedia document publishing including hypermedia document parsing |
US6447184B2 (en) | 1997-07-30 | 2002-09-10 | Canon Kabushiki Kaisha | Method and apparatus for controlling a printing operation |
JP4054444B2 (ja) | 1997-07-30 | 2008-02-27 | キヤノン株式会社 | 印刷制御装置及び印刷制御方法並びに記憶媒体 |
US6070175A (en) | 1997-08-26 | 2000-05-30 | The United States As Represented By The Director The National Security Agency | Method of file editing using framemaker enhanced by application programming interface clients |
US6182080B1 (en) | 1997-09-12 | 2001-01-30 | Netvoyage Corporation | System, method and computer program product for storage of a plurality of documents within a single file |
US6173295B1 (en) | 1997-09-15 | 2001-01-09 | International Business Machines Corporation | Method, system, and program for creating a job ticket inlcuding information on components and print attributes of a print job |
US6094665A (en) | 1997-09-18 | 2000-07-25 | Hewlett-Packard Company | Method and apparatus for correcting a uniform resource identifier |
US6134552A (en) | 1997-10-07 | 2000-10-17 | Sap Aktiengesellschaft | Knowledge provider with logical hyperlinks |
US6594682B2 (en) | 1997-10-28 | 2003-07-15 | Microsoft Corporation | Client-side system for scheduling delivery of web content and locally managing the web content |
GB9800100D0 (en) | 1998-01-06 | 1998-03-04 | Ibm | A method and component for presentation of information |
US6480206B2 (en) | 1998-02-24 | 2002-11-12 | Sun Microsystems, Inc. | Method and apparatus for an extensible editor |
US6088702A (en) | 1998-02-25 | 2000-07-11 | Plantz; Scott H. | Group publishing system |
US20010013043A1 (en) | 1998-03-12 | 2001-08-09 | Richard J. Wagner | System and method for determining browser package and version compatibility of a web document |
JP4817474B2 (ja) | 1998-03-17 | 2011-11-16 | キヤノン株式会社 | データ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体 |
US6115044A (en) | 1998-03-31 | 2000-09-05 | International Business Machines Corporation | Data processor controlled display with a tree of items with modification of child item properties designated at parent level without modification of parent item properties |
US6281896B1 (en) | 1998-03-31 | 2001-08-28 | International Business Machines Corporation | Data processor controlled interface with multiple tree of elements views expandable into individual detail views |
US6002814A (en) | 1998-04-14 | 1999-12-14 | Hewlett-Packard Company | Means and method for configuring a data processing pipeline |
US6247018B1 (en) | 1998-04-16 | 2001-06-12 | Platinum Technology Ip, Inc. | Method for processing a file to generate a database |
US6393442B1 (en) | 1998-05-08 | 2002-05-21 | International Business Machines Corporation | Document format transforations for converting plurality of documents which are consistent with each other |
US6212530B1 (en) | 1998-05-12 | 2001-04-03 | Compaq Computer Corporation | Method and apparatus based on relational database design techniques supporting modeling, analysis and automatic hypertext generation for structured document collections |
JP3870551B2 (ja) * | 1998-05-22 | 2007-01-17 | セイコーエプソン株式会社 | 周辺機器の選択システム及び選択方法 |
KR19990086289A (ko) | 1998-05-27 | 1999-12-15 | 윤종용 | 프리젠테이션 문서를 출력하는 장치 및 방법 |
US6298446B1 (en) | 1998-06-14 | 2001-10-02 | Alchemedia Ltd. | Method and system for copyright protection of digital images transmitted over networks |
JP4206515B2 (ja) | 1998-06-15 | 2009-01-14 | パナソニック株式会社 | 電子メール端末 |
US6496206B1 (en) | 1998-06-29 | 2002-12-17 | Scansoft, Inc. | Displaying thumbnail images of document pages in an electronic folder |
US6182096B1 (en) | 1998-06-30 | 2001-01-30 | International Business Machines Corporation | Method and apparatus of creating highly portable output files by combining pages from multiple input files |
US6654147B1 (en) | 1998-07-06 | 2003-11-25 | Creo Il Ltd. | Anti-aliasing for digital printing |
US6891632B2 (en) | 1998-07-17 | 2005-05-10 | Peerless Systems, Inc. | Method and apparatus for selecting print strategy for optimal performance |
US6067531A (en) | 1998-07-21 | 2000-05-23 | Mci Communications Corporation | Automated contract negotiator/generation system and method |
US6538760B1 (en) | 1998-09-08 | 2003-03-25 | International Business Machines Corp. | Method and apparatus for generating a production print stream from files optimized for viewing |
US6407821B1 (en) | 1998-09-08 | 2002-06-18 | International Business Machines Corporation | Method and apparatus for printing documents including embedded print objects with an intelligent printing system |
US6715126B1 (en) | 1998-09-16 | 2004-03-30 | International Business Machines Corporation | Efficient streaming of synchronized web content from multiple sources |
US6549918B1 (en) | 1998-09-21 | 2003-04-15 | Microsoft Corporation | Dynamic information format conversion |
US6385727B1 (en) | 1998-09-25 | 2002-05-07 | Hughes Electronics Corporation | Apparatus for providing a secure processing environment |
US5993088A (en) | 1998-09-30 | 1999-11-30 | International Business Machines Corporation | Method for improving print performance and quality by accumulating, storing and using resource accounting information with a print job |
US20020174145A1 (en) | 1998-10-16 | 2002-11-21 | Brady Duga | Automatic data formatting using a hypertext language |
US6362870B2 (en) | 1998-10-26 | 2002-03-26 | Hewlett-Packard Company | Image copier having enhanced duplex capabilities; method of printing a copy of a document to produce a duplex copy product |
US6427230B1 (en) | 1998-11-09 | 2002-07-30 | Unisys Corporation | System and method for defining and managing reusable groups software constructs within an object management system |
JP3869135B2 (ja) | 1998-11-10 | 2007-01-17 | ソフトバンクモバイル株式会社 | デジタル無線電話による情報提供サービスシステム |
JP2000163356A (ja) | 1998-11-25 | 2000-06-16 | Canon Inc | 周辺機器装置及びその制御方法及び記憶媒体 |
JP3767721B2 (ja) | 1998-11-27 | 2006-04-19 | セイコーエプソン株式会社 | プリンタおよびプリンタの制御方法並びにプリンタを制御するプログラムを記録した記録媒体 |
US6583789B1 (en) | 1998-12-03 | 2003-06-24 | International Business Machines Corporation | Method and system for processing glyph-based quality variability requests |
US6342904B1 (en) | 1998-12-17 | 2002-01-29 | Newstakes, Inc. | Creating a slide presentation from full motion video |
US6993527B1 (en) | 1998-12-21 | 2006-01-31 | Adobe Systems Incorporated | Describing documents and expressing document structure |
US6675356B1 (en) | 1998-12-22 | 2004-01-06 | Xerox Corporation | Distributed document-based calendaring system |
US7043688B1 (en) | 1998-12-22 | 2006-05-09 | Casio Computer Co., Ltd. | Document processing apparatus capable of increasing printing efficiency by forming virtual document and storage medium |
US7031002B1 (en) | 1998-12-31 | 2006-04-18 | International Business Machines Corporation | System and method for using character set matching to enhance print quality |
US7274483B2 (en) | 1999-01-19 | 2007-09-25 | Canon Kabushiki Kaisha | Processing of print data received over a network, and image formation using the processed data |
US6505219B1 (en) | 1999-01-27 | 2003-01-07 | Xerox Corporation | Process management system wherein process descriptions provide indices to document histories |
TW475125B (en) | 1999-02-12 | 2002-02-01 | Inst Information Industry | Data management system and method of structured electronic document |
US6952831B1 (en) | 1999-02-26 | 2005-10-04 | Microsoft Corporation | Driverless printing |
US6426798B1 (en) | 1999-03-04 | 2002-07-30 | Canon Kabushiki Kaisha | Data structure for printer description file |
JP2000259484A (ja) | 1999-03-05 | 2000-09-22 | Sharp Corp | 情報処理システム及び情報処理プログラムを記憶した記憶媒体 |
EP1035468B1 (en) | 1999-03-08 | 2003-09-17 | Hewlett-Packard Company, A Delaware Corporation | Printing of documents from a computer |
US6498657B1 (en) | 1999-03-17 | 2002-12-24 | Prout Ag | Programmable data extractor, data analyzer, and printer report generator |
WO2000060503A1 (en) | 1999-04-07 | 2000-10-12 | Critical Path Inc. | Apparatus and methods for use of access tokens in an internet document management system |
US6608693B1 (en) | 1999-04-30 | 2003-08-19 | Hewlett-Packard Development Company, L.P. | Apparatus and method for generating a print job from a command stream describing multiple copies of a document |
US7000186B1 (en) | 1999-05-03 | 2006-02-14 | Amicas, Inc. | Method and structure for electronically transmitting a text document and linked information |
US6661526B1 (en) | 1999-05-04 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Printer drivers using filters that are operating system-independent and printer-independent |
US6369830B1 (en) | 1999-05-10 | 2002-04-09 | Apple Computer, Inc. | Rendering translucent layers in a display system |
US6658477B1 (en) | 1999-05-12 | 2003-12-02 | Microsoft Corporation | Improving the control of streaming data through multiple processing modules |
US6674540B1 (en) | 1999-05-24 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | Assembling and printing compound documents |
US6466935B1 (en) | 1999-06-04 | 2002-10-15 | International Business Machines Corporation | Applying relational database technology to process control in manufacturing processes |
US6587128B2 (en) | 1999-07-15 | 2003-07-01 | International Business Machines Corporation | Method for displaying hidden objects by varying the transparency of overlapping objects |
DE19964198A1 (de) | 1999-07-15 | 2001-04-12 | Erland Wittkoetter | Datenverarbeitungsvorrichtung |
US6675353B1 (en) | 1999-07-26 | 2004-01-06 | Microsoft Corporation | Methods and systems for generating XML documents |
US6694485B1 (en) | 1999-07-27 | 2004-02-17 | International Business Machines Corporation | Enhanced viewing of hypertext markup language file |
US6560620B1 (en) | 1999-08-03 | 2003-05-06 | Aplix Research, Inc. | Hierarchical document comparison system and method |
US6598161B1 (en) | 1999-08-09 | 2003-07-22 | International Business Machines Corporation | Methods, systems and computer program products for multi-level encryption |
US7640318B1 (en) | 1999-09-17 | 2009-12-29 | Ricoh Co., Ltd. | Method and apparatus for publishing documents over a network |
US6763343B1 (en) | 1999-09-20 | 2004-07-13 | David M. Brooke | Preventing duplication of the data in reference resource for XML page generation |
EP1087306A3 (en) | 1999-09-24 | 2004-11-10 | Xerox Corporation | Meta-documents and method of managing them |
AU1075101A (en) | 1999-10-05 | 2001-05-10 | Ejasent Inc. | Virtual resource id mapping |
JP3937666B2 (ja) | 1999-11-02 | 2007-06-27 | キヤノン株式会社 | 印刷制御方法および装置 |
US6418448B1 (en) | 1999-12-06 | 2002-07-09 | Shyam Sundar Sarkar | Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web |
US6812941B1 (en) | 1999-12-09 | 2004-11-02 | International Business Machines Corp. | User interface management through view depth |
EP1238334A1 (en) | 1999-12-15 | 2002-09-11 | Sun Microsystems, Inc. | Preparation of a software configuration using an xml type programming language |
JP2001175648A (ja) | 1999-12-21 | 2001-06-29 | Murata Mach Ltd | 文書管理システム |
WO2001046827A1 (en) | 1999-12-22 | 2001-06-28 | Ubicom, Inc. | System and method for instruction level multithreading in an embedded processor using zero-time context switching |
US6976257B2 (en) | 1999-12-30 | 2005-12-13 | International Business Machines Corporation | Context based execution prioritization in Workflow-Management-Systems |
EP1132808A1 (en) | 2000-01-04 | 2001-09-12 | Océ-Technologies B.V. | Method and system for submitting jobs to a reproduction center |
US20010044813A1 (en) | 2000-01-10 | 2001-11-22 | Frank Kenneth B. | Document production platform |
US6559966B1 (en) | 2000-01-10 | 2003-05-06 | Imagex, Inc. | Trapping of graphic image files |
US6981207B1 (en) | 2000-01-11 | 2005-12-27 | Ecora Software Corporation | Automatic documentation of configurable systems by outputting explanatory information of configuration parameters in a narrative format and configuration parameters differences |
US6643652B2 (en) | 2000-01-14 | 2003-11-04 | Saba Software, Inc. | Method and apparatus for managing data exchange among systems in a network |
ES2329008T3 (es) | 2000-01-14 | 2009-11-20 | Thinkstream, Inc. | Red de informacion dsitribuida accessible de forma global. |
US6701314B1 (en) | 2000-01-21 | 2004-03-02 | Science Applications International Corporation | System and method for cataloguing digital information for searching and retrieval |
JP3879350B2 (ja) | 2000-01-25 | 2007-02-14 | 富士ゼロックス株式会社 | 構造化文書処理システム及び構造化文書処理方法 |
US20010039552A1 (en) | 2000-02-04 | 2001-11-08 | Killi Tom E. | Method of reducing the size of a file and a data processing system readable medium for performing the method |
US6785673B1 (en) | 2000-02-09 | 2004-08-31 | At&T Corp. | Method for converting relational data into XML |
US6992785B1 (en) | 2000-02-09 | 2006-01-31 | International Business Machines Corporation | Method, data structure and apparatus for identifying resources prior to printing |
CA2401444C (en) | 2000-03-01 | 2014-08-12 | Celltrex Ltd. | System and method for rapid document conversion |
US6591278B1 (en) | 2000-03-03 | 2003-07-08 | R-Objects, Inc. | Project data management system and method |
AU2001243513A1 (en) | 2000-03-07 | 2001-09-17 | Broadcom Corporation | An interactive system for and method of automating the generation of legal documents |
DE10109365A1 (de) | 2000-03-17 | 2001-09-20 | Heidelberger Druckmasch Ag | Vorrichtung zur Erkennung von Funktionseinheiten |
US6782507B1 (en) | 2000-03-22 | 2004-08-24 | Alex F. Dove | Document size management method and data processing computer program |
US7284199B2 (en) | 2000-03-29 | 2007-10-16 | Microsoft Corporation | Process of localizing objects in markup language documents |
JP2001282603A (ja) | 2000-03-29 | 2001-10-12 | Toshihiro Wakayama | 情報コンテンツの連携管理システム |
EP1410231A4 (en) | 2000-04-03 | 2005-02-23 | Juergen Stark | METHOD AND SYSTEM FOR ELECTRONIC MESSAGING WITH CONTENT CONTROL |
US7007232B1 (en) | 2000-04-07 | 2006-02-28 | Neoplasia Press, Inc. | System and method for facilitating the pre-publication peer review process |
US7055095B1 (en) | 2000-04-14 | 2006-05-30 | Picsel Research Limited | Systems and methods for digital document processing |
US6789229B1 (en) | 2000-04-19 | 2004-09-07 | Microsoft Corporation | Document pagination based on hard breaks and active formatting tags |
US20040049737A1 (en) | 2000-04-26 | 2004-03-11 | Novarra, Inc. | System and method for displaying information content with selective horizontal scrolling |
US6615281B1 (en) | 2000-05-05 | 2003-09-02 | International Business Machines Corporation | Multi-node synchronization using global timing source and interrupts following anticipatory wait state |
US6917976B1 (en) | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Message-based leasing of resources in a distributed computing environment |
US6781609B1 (en) | 2000-05-09 | 2004-08-24 | International Business Machines Corporation | Technique for flexible inclusion of information items and various media types in a user interface |
GB0011426D0 (en) | 2000-05-11 | 2000-06-28 | Charteris Limited | A method for transforming documents written in different XML-based languages |
US7864346B2 (en) | 2000-05-16 | 2011-01-04 | Xerox Corporation | Apparatus and method for describing, planning and automatically programming complex finishing tasks |
US6509974B1 (en) | 2000-05-17 | 2003-01-21 | Heidelberger Druckmaschinen Ag | Automated job creation for job preparation |
US7003723B1 (en) | 2000-05-17 | 2006-02-21 | Eastman Kodak Company | System and method for representing and managing pages in a production printing workflow |
FR2828307B1 (fr) | 2000-05-18 | 2004-10-22 | Il System | Procede pour la constitution d'une base de donnees relative aux informations contenues dans un document |
US7747611B1 (en) | 2000-05-25 | 2010-06-29 | Microsoft Corporation | Systems and methods for enhancing search query results |
US6968332B1 (en) | 2000-05-25 | 2005-11-22 | Microsoft Corporation | Facility for highlighting documents accessed through search or browsing |
US6941510B1 (en) | 2000-06-06 | 2005-09-06 | Groove Networks, Inc. | Method and apparatus for efficient management of XML documents |
US6999101B1 (en) | 2000-06-06 | 2006-02-14 | Microsoft Corporation | System and method for providing vector editing of bitmap images |
US6519557B1 (en) | 2000-06-06 | 2003-02-11 | International Business Machines Corporation | Software and method for recognizing similarity of documents written in different languages based on a quantitative measure of similarity |
US6771291B1 (en) | 2000-06-07 | 2004-08-03 | The Perfect Web Corporation | Method for developing electronic documents employing multiple display regions |
GB2364141A (en) | 2000-06-28 | 2002-01-16 | Peter David Hudson | System for producing a patent specification and application |
JP2002024211A (ja) | 2000-06-30 | 2002-01-25 | Hitachi Ltd | 文書管理方法およびシステム並びにその処理プログラムを格納した記憶媒体 |
AU2001277868A1 (en) | 2000-07-11 | 2002-01-21 | Juice Software, Inc. | A method and system for integrating network-based functionality into productivity applications and documents |
GB0018042D0 (en) | 2000-07-21 | 2000-09-13 | Monsell Edm Ltd | Method of and software for recordal and validation of changes to markup language files |
US6826626B1 (en) | 2000-07-21 | 2004-11-30 | Clear Blue Technologies Management, Inc. | Method of and apparatus for rapid retrieval of data in a content distribution network |
US6681223B1 (en) | 2000-07-27 | 2004-01-20 | International Business Machines Corporation | System and method of performing profile matching with a structured document |
WO2002010970A2 (en) | 2000-07-28 | 2002-02-07 | Glaxo Group Limited | Document management and publication using reusable packages and components |
US20020049790A1 (en) | 2000-08-08 | 2002-04-25 | Ricker Jeffrey M | Data interchange format transformation method and data dictionary used therefor |
US20020116416A1 (en) | 2000-08-11 | 2002-08-22 | Falko Tesch | Methods and systems for processing embedded objects |
WO2002017115A2 (en) | 2000-08-21 | 2002-02-28 | Thoughtslinger Corporation | Simultaneous multi-user document editing system |
US6941511B1 (en) | 2000-08-31 | 2005-09-06 | International Business Machines Corporation | High-performance extensible document transformation |
JP2002149635A (ja) | 2000-08-31 | 2002-05-24 | Dowa Planning:Kk | レイアウトシステムとそのコンピュータプログラム |
US7752214B2 (en) | 2000-09-01 | 2010-07-06 | Op40, Inc. | Extended environment data structure for distributed digital assets over a multi-tier computer network |
US20030018694A1 (en) | 2000-09-01 | 2003-01-23 | Shuang Chen | System, method, uses, products, program products, and business methods for distributed internet and distributed network services over multi-tiered networks |
US7209921B2 (en) | 2000-09-01 | 2007-04-24 | Op40, Inc. | Method and system for deploying an asset over a multi-tiered network |
JP2002091958A (ja) | 2000-09-12 | 2002-03-29 | Canon Inc | 情報処理装置及びその方法、コンピュータ可読メモリ |
US7584413B2 (en) | 2000-09-12 | 2009-09-01 | Canon Kabuhsiki Kaisha | Electronic document binder builder |
US7694218B2 (en) | 2000-09-13 | 2010-04-06 | Canon Kabushiki Kaisha | Information processing apparatus, method therefor, and computer-readable memory |
US6990654B2 (en) | 2000-09-14 | 2006-01-24 | Bea Systems, Inc. | XML-based graphical user interface application development toolkit |
US6657647B1 (en) | 2000-09-25 | 2003-12-02 | Xoucin, Inc. | Controlling the order in which content is displayed in a browser |
JP3494292B2 (ja) | 2000-09-27 | 2004-02-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アプリケーションデータの誤り訂正支援方法、コンピュータ装置、アプリケーションデータ提供システム、および記憶媒体 |
US7051276B1 (en) | 2000-09-27 | 2006-05-23 | Microsoft Corporation | View templates for HTML source documents |
US7131060B1 (en) | 2000-09-29 | 2006-10-31 | Raytheon Company | System and method for automatic placement of labels for interactive graphics applications |
US7162538B1 (en) | 2000-10-04 | 2007-01-09 | Intel Corporation | Peer to peer software distribution system |
US20020065857A1 (en) | 2000-10-04 | 2002-05-30 | Zbigniew Michalewicz | System and method for analysis and clustering of documents for search engine |
US7246348B1 (en) | 2000-10-13 | 2007-07-17 | International Business Machines Corp. | Method and apparatus for using print jobs for downloading and executing printer controller code |
JP3212983B1 (ja) | 2000-10-31 | 2001-09-25 | 株式会社シイエム・シイ | 部品説明書の作成支援方法、部品説明書の作成支援システム、及びコンピュータ読取可能な記録媒体 |
US7051330B1 (en) | 2000-11-21 | 2006-05-23 | Microsoft Corporation | Generic application server and method of operation therefor |
US20020090934A1 (en) | 2000-11-22 | 2002-07-11 | Mitchelmore Eliott R.D. | Content and application delivery and management platform system and method |
US7089490B1 (en) | 2000-11-30 | 2006-08-08 | Google, Inc. | Identifying navigation bars and objectionable navigation bars |
US6925631B2 (en) | 2000-12-08 | 2005-08-02 | Hewlett-Packard Development Company, L.P. | Method, computer system and computer program product for processing extensible markup language streams |
US6968557B1 (en) | 2000-12-18 | 2005-11-22 | Stratum8 Corporation | Reducing stack memory resources in a threaded computer system |
FR2818409B1 (fr) | 2000-12-18 | 2003-03-14 | Expaway | Procede pour diviser des documents structures en plusieurs parties |
WO2002052480A1 (en) | 2000-12-22 | 2002-07-04 | Trac Medical Solutions, Inc. | Dynamic electronic chain-of-trust document with audit trail |
US8411298B2 (en) | 2001-01-11 | 2013-04-02 | Sharp Laboratories Of America, Inc. | Methods and systems for printing device load-balancing |
US7120868B2 (en) | 2002-05-30 | 2006-10-10 | Microsoft Corp. | System and method for adaptive document layout via manifold content |
US6907457B2 (en) | 2001-01-25 | 2005-06-14 | Dell Inc. | Architecture for access to embedded files using a SAN intermediate device |
US7210096B2 (en) | 2001-01-30 | 2007-04-24 | International Business Machines Corporation | Methods and apparatus for constructing semantic models for document authoring |
JP2002229976A (ja) | 2001-02-01 | 2002-08-16 | Canon Inc | 情報処理装置及びその方法、コンピュータ可読メモリ、プログラム |
JP2004192017A (ja) * | 2001-02-06 | 2004-07-08 | Dainippon Printing Co Ltd | Icカードを装着した移動体通信端末を利用した情報家電端末の遠隔制御システムとそれに使用する移動体通信端末とicカード |
US20020107886A1 (en) | 2001-02-07 | 2002-08-08 | Gentner Donald R. | Method and apparatus for automatic document electronic versioning system |
US6978420B2 (en) | 2001-02-12 | 2005-12-20 | Aplix Research, Inc. | Hierarchical document cross-reference system and method |
US7084998B2 (en) | 2001-02-13 | 2006-08-01 | Ariba, Inc. | Method and system for processing files using a printer driver |
US20020116421A1 (en) | 2001-02-17 | 2002-08-22 | Fox Harold L. | Method and system for page-like display, formating and processing of computer generated information on networked computers |
US6925632B2 (en) | 2001-03-08 | 2005-08-02 | Martin Shiu | System for configuration programming |
US7302634B2 (en) | 2001-03-14 | 2007-11-27 | Microsoft Corporation | Schema-based services for identity-based data access |
US20020143523A1 (en) | 2001-03-30 | 2002-10-03 | Lakshmi Balaji | System and method for providing a file in multiple languages |
CA2343494A1 (en) | 2001-04-03 | 2002-10-03 | Ibm Canada Limited - Ibm Canada Limitee | Method and device for semantic reconciling of complex data models |
JP4322462B2 (ja) * | 2001-04-10 | 2009-09-02 | 日本電気株式会社 | マークアップ文書変換方式 |
US7500017B2 (en) | 2001-04-19 | 2009-03-03 | Microsoft Corporation | Method and system for providing an XML binary format |
US7216290B2 (en) | 2001-04-25 | 2007-05-08 | Amplify, Llc | System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources |
GB2374953B (en) | 2001-04-26 | 2005-11-16 | Hewlett Packard Co | Method and apparatus for embodying documents |
US20020169738A1 (en) | 2001-05-10 | 2002-11-14 | Giel Peter Van | Method and system for auditing an enterprise configuration |
US7512879B2 (en) | 2001-05-11 | 2009-03-31 | Microsoft Corporation | Intelligent virtual paging paradigm |
US20040015890A1 (en) | 2001-05-11 | 2004-01-22 | Windriver Systems, Inc. | System and method for adapting files for backward compatibility |
US7302440B2 (en) | 2001-07-27 | 2007-11-27 | Metatomix, Inc. | Methods and apparatus for statistical data analysis and reduction for an enterprise application |
US7325193B2 (en) | 2001-06-01 | 2008-01-29 | International Business Machines Corporation | Automated management of internet and/or web site content |
RU2202825C2 (ru) | 2001-06-04 | 2003-04-20 | Арсен Ревазов | Способ визуализации объектов рекламно-информационного содержания |
US20020188638A1 (en) | 2001-06-08 | 2002-12-12 | Walter Hamscher | Document negotiation |
EP1410258A4 (en) | 2001-06-22 | 2007-07-11 | Inc Nervana | SYSTEM AND METHOD FOR RECALLING, MANAGING, DELIVERING AND PRESENTING KNOWLEDGE |
US8001465B2 (en) | 2001-06-26 | 2011-08-16 | Kudrollis Software Inventions Pvt. Ltd. | Compacting an information array display to cope with two dimensional display space constraint |
US6968504B2 (en) | 2001-06-29 | 2005-11-22 | Microsoft Corporation | Automated document formatting tool |
US20030014128A1 (en) * | 2001-07-10 | 2003-01-16 | Pathak Jogen K. | System, method, and apparatus for measuring application performance management |
US7165239B2 (en) * | 2001-07-10 | 2007-01-16 | Microsoft Corporation | Application program interface for network software platform |
US7017162B2 (en) | 2001-07-10 | 2006-03-21 | Microsoft Corporation | Application program interface for network software platform |
AU2002345270B2 (en) | 2001-07-11 | 2007-11-29 | Ecole Polytechnique Federale De Lausanne | Images incorporating microstructures |
US7636792B1 (en) | 2001-07-13 | 2009-12-22 | Oracle International Corporation | Methods and systems for dynamic and automatic content creation for mobile devices |
US20030020948A1 (en) | 2001-07-27 | 2003-01-30 | Jarvis Daniel Cook | Dynamically loaded applications in a printer |
US7240120B2 (en) | 2001-08-13 | 2007-07-03 | Texas Instruments Incorporated | Universal decoder for use in a network media player |
KR100750036B1 (ko) | 2001-08-24 | 2007-08-16 | 인텔 코오퍼레이션 | 플로우 제어를 구현하는 범용 입출력 아키텍쳐, 프로토콜및 관련 방법 |
US9460414B2 (en) | 2001-08-28 | 2016-10-04 | Eugene M. Lee | Computer assisted and/or implemented process and system for annotating and/or linking documents and data, optionally in an intellectual property management system |
CA2357087C (en) | 2001-09-06 | 2009-07-21 | Cognos Incorporated | Deployment manager for organizing and deploying an application in a distributed computing environment |
US6959437B2 (en) | 2001-09-07 | 2005-10-25 | Sharp Laboratories Of America, Inc. | System and method for installing printer driver software |
US20040205539A1 (en) | 2001-09-07 | 2004-10-14 | Mak Mingchi Stephen | Method and apparatus for iterative merging of documents |
JP2003091544A (ja) | 2001-09-19 | 2003-03-28 | Fuji Photo Film Co Ltd | 画像保管方法および装置、並びに画像保管システムおよびプログラム |
US20070179957A1 (en) | 2001-09-19 | 2007-08-02 | Gibson Jerry T | System and Method for Disseminating Drug Information |
GB2380016A (en) | 2001-09-21 | 2003-03-26 | Hewlett Packard Co | Generating a contract |
US7054841B1 (en) | 2001-09-27 | 2006-05-30 | I2 Technologies Us, Inc. | Document storage and classification |
US7107298B2 (en) | 2001-09-28 | 2006-09-12 | Commvault Systems, Inc. | System and method for archiving objects in an information store |
US20030065946A1 (en) | 2001-10-01 | 2003-04-03 | Holliday John F. | Paragraph management software system |
KR20040048933A (ko) | 2001-10-04 | 2004-06-10 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 사용자 인터페이스를 스타일링하는 방법 및 적응성 사용자인터페이스를 구비한 디바이스 |
US7590554B2 (en) | 2001-10-11 | 2009-09-15 | Hewlett-Packard Development Company, L.P. | System and method for forecasting uncertain events with adjustments for participants characteristics |
JP3480844B2 (ja) | 2001-10-26 | 2003-12-22 | 株式会社リコー | 文書管理装置、文書管理制御方法及び文書管理制御プログラム |
GB2381424B (en) | 2001-10-26 | 2005-01-05 | Roke Manor Research | A method of controlling the amount of data transferred between a terminal and a server |
US20050179921A1 (en) | 2001-10-26 | 2005-08-18 | International Business Machines Corporation | Method, apparatus and program product for device independent print job ticketing |
US20030090705A1 (en) | 2001-11-13 | 2003-05-15 | Ferlitsch Andrew R. | Providing print job accounting in a computer system configuration |
US7328261B2 (en) | 2001-11-21 | 2008-02-05 | Clearcube Technology, Inc. | Distributed resource manager |
JP2003223440A (ja) | 2001-11-21 | 2003-08-08 | Ricoh Co Ltd | 文書処理装置 |
US6910843B2 (en) | 2001-11-26 | 2005-06-28 | Hewlett-Packard Development Company, L.P. | Cover authoring systems and methods and bookbinding systems incorporating the same |
US8274719B2 (en) | 2001-11-30 | 2012-09-25 | Canon Kabushiki Kaisha | Printing system, print preview method, and preview method using a printer driver |
US6785654B2 (en) | 2001-11-30 | 2004-08-31 | Dictaphone Corporation | Distributed speech recognition system with speech recognition engines offering multiple functionalities |
KR100426307B1 (ko) | 2001-12-12 | 2004-04-08 | 한국전자통신연구원 | 에스오에이피-엑스엠엘을 이용한 데이터 액세스 장치 및방법 |
TW561377B (en) | 2001-12-17 | 2003-11-11 | Webstorage Corp | Intelligent document management and usage method |
US7496841B2 (en) | 2001-12-17 | 2009-02-24 | Workshare Technology, Ltd. | Method and system for document collaboration |
US7080083B2 (en) | 2001-12-21 | 2006-07-18 | Kim Hong J | Extensible stylesheet designs in visual graphic environments |
US6912555B2 (en) | 2002-01-18 | 2005-06-28 | Hewlett-Packard Development Company, L.P. | Method for content mining of semi-structured documents |
US7155670B2 (en) | 2002-01-18 | 2006-12-26 | Internet Disclosure Co., Ltd. | Document authoring system and authoring management program |
JP4291999B2 (ja) | 2002-01-18 | 2009-07-08 | 株式会社インターネットディスクロージャー | 書類作成システム及び作成管理プログラム |
US7307745B2 (en) | 2002-01-21 | 2007-12-11 | Canon Kabushiki Kaisha | Web-based print server and client |
US20030142128A1 (en) | 2002-01-30 | 2003-07-31 | Benefitnation | User interface for a document component management and publishing system |
US20040205656A1 (en) | 2002-01-30 | 2004-10-14 | Benefitnation | Document rules data structure and method of document publication therefrom |
US7239412B2 (en) | 2002-01-31 | 2007-07-03 | Sharp Laboratories Of America, Inc. | True print preview method and apparatus |
US6836808B2 (en) | 2002-02-25 | 2004-12-28 | International Business Machines Corporation | Pipelined packet processing |
US7451236B2 (en) | 2002-02-26 | 2008-11-11 | Ricoh Company, Ltd. | Document distribution and storage system |
US7200668B2 (en) | 2002-03-05 | 2007-04-03 | Sun Microsystems, Inc. | Document conversion with merging |
US7478170B2 (en) | 2002-03-05 | 2009-01-13 | Sun Microsystems, Inc. | Generic infrastructure for converting documents between formats with merge capabilities |
US7689899B2 (en) | 2002-03-06 | 2010-03-30 | Ge Corporate Financial Services, Inc. | Methods and systems for generating documents |
US7992088B2 (en) | 2002-03-12 | 2011-08-02 | International Business Machines Corporation | Method and system for copy and paste technology for stylesheet editing |
US6765584B1 (en) | 2002-03-14 | 2004-07-20 | Nvidia Corporation | System and method for creating a vector map in a hardware graphics pipeline |
JP2003281197A (ja) | 2002-03-25 | 2003-10-03 | Honda Motor Co Ltd | 電子パーツリストシステム |
JP2003281198A (ja) | 2002-03-25 | 2003-10-03 | Honda Motor Co Ltd | 電子パーツリストシステム及び電子パーツリストの作成方法 |
US7669116B2 (en) | 2002-03-26 | 2010-02-23 | Accenture Global Services, Gmbh | Single access point for filing of converted electronic forms to multiple processing entities |
JP3824153B2 (ja) | 2002-03-26 | 2006-09-20 | 本田技研工業株式会社 | 電子パーツリストシステム |
JP3824152B2 (ja) | 2002-03-26 | 2006-09-20 | 本田技研工業株式会社 | 総合検査システム及び総合検査方法 |
JP2003288237A (ja) | 2002-03-27 | 2003-10-10 | Hitachi Ltd | 制御装置における実行時間測定装置及び実行時間測定方法 |
JP2003288334A (ja) | 2002-03-28 | 2003-10-10 | Toshiba Corp | 文書処理装置及び文書処理方法 |
US20030195784A1 (en) | 2002-04-11 | 2003-10-16 | United Parcel Service Of America, Inc. | Intelligent authorized return systems and methods |
US7769639B2 (en) | 2002-04-15 | 2010-08-03 | Arnaud Delenda | Method and system for real-time allocation of a resource among several entities |
US20030196176A1 (en) | 2002-04-16 | 2003-10-16 | Abu-Ghazalah Maad H. | Method for composing documents |
JP3882905B2 (ja) | 2002-04-16 | 2007-02-21 | セイコーエプソン株式会社 | コンテンツ配信のためのシステム及び方法 |
US7370032B2 (en) | 2002-04-30 | 2008-05-06 | Sap Ag | Data gathering |
US20040030987A1 (en) | 2002-04-30 | 2004-02-12 | Manelli Donald D. | Method for generating customized patient education documents |
US20030222890A1 (en) | 2002-05-31 | 2003-12-04 | David Salesin | System and method for adaptable presentations |
US7212297B2 (en) | 2002-06-05 | 2007-05-01 | Transdimension Inc. | Universal printing system |
US7281245B2 (en) | 2002-06-05 | 2007-10-09 | Microsoft Corporation | Mechanism for downloading software components from a remote source for use by a local software application |
US20050177784A1 (en) | 2002-06-19 | 2005-08-11 | Andrews Richard L. | Creating an html document from a source document |
US7669120B2 (en) | 2002-06-21 | 2010-02-23 | Microsoft Corporation | Method and system for encoding a mark-up language document |
US7149966B2 (en) | 2002-06-24 | 2006-12-12 | Microsoft Corporation | Word processor for freestyle editing of well-formed XML documents |
US7716676B2 (en) | 2002-06-25 | 2010-05-11 | Microsoft Corporation | System and method for issuing a message to a program |
US7392479B2 (en) | 2002-06-27 | 2008-06-24 | Microsoft Corporation | System and method for providing namespace related information |
US7458018B2 (en) | 2002-06-27 | 2008-11-25 | Microsoft Corporation | System and method for obtaining and using namespace related information for opening XML documents |
US7523394B2 (en) | 2002-06-28 | 2009-04-21 | Microsoft Corporation | Word-processing document stored in a single XML file that may be manipulated by applications that understand XML |
US6839910B2 (en) | 2002-07-05 | 2005-01-11 | David Morrow | Protective athletic equipment |
US20040015782A1 (en) | 2002-07-17 | 2004-01-22 | Day Young Francis | Templating method for automated generation of print product catalogs |
US8245137B2 (en) | 2002-07-25 | 2012-08-14 | Xerox Corporation | Electronic filing system with scan-placeholders |
US20040021905A1 (en) | 2002-08-01 | 2004-02-05 | Holmstead Stanley Bruce | System and method for managing printable assets |
US20040031029A1 (en) | 2002-08-06 | 2004-02-12 | Kyu-Woong Lee | Methods and systems for automatically updating software components in a network |
EP1543472A2 (en) | 2002-08-09 | 2005-06-22 | Corticon Technologies, Inc. | Rule engine |
JP2004070868A (ja) | 2002-08-09 | 2004-03-04 | Seiko Epson Corp | 画像データ送信装置、及び、画像データ送受信システム |
US7605930B2 (en) | 2002-08-09 | 2009-10-20 | Brother Kogyo Kabushiki Kaisha | Image processing device |
US7171471B1 (en) | 2002-08-15 | 2007-01-30 | Cisco Technology, Inc. | Methods and apparatus for directing a resource request |
US20060155529A1 (en) | 2002-08-16 | 2006-07-13 | Teamware Group Oy | System and method for a context-independent framework for management and execution of xml processing tasks |
ATE354905T1 (de) | 2002-08-29 | 2007-03-15 | Hewlett Packard Co | Verfahren und vorrichtung zur datenverteilung in einem netzwerk |
US6865354B2 (en) | 2002-08-30 | 2005-03-08 | Eastman Kodak Company | Method for using a user interface to resolve mismatches between printer resources and print job requirements |
FR2844370B1 (fr) | 2002-09-05 | 2008-05-09 | Canon Kk | Document electronique de description d'un service informatique |
US7418661B2 (en) | 2002-09-17 | 2008-08-26 | Hewlett-Packard Development Company, L.P. | Published web page version tracking |
EP1403778A1 (en) | 2002-09-27 | 2004-03-31 | Sony International (Europe) GmbH | Adaptive multimedia integration language (AMIL) for adaptive multimedia applications and presentations |
US20040061729A1 (en) | 2002-09-30 | 2004-04-01 | Brett Green | System and method for a dynamically modifiable driver interface |
US20040066527A1 (en) | 2002-10-02 | 2004-04-08 | Nexpress Solutions Llc | Finish verification in printing |
US6925599B2 (en) | 2002-10-04 | 2005-08-02 | Clinisys, Inc. | Methodology for performing validated clinical studies of pharmeceutical related products |
US7249067B2 (en) | 2002-10-04 | 2007-07-24 | Vpi Color, Llc | System and method for creating customized catalogues |
US7327482B2 (en) | 2002-10-15 | 2008-02-05 | Sharp Laboratories Of America, Inc. | Integrated printer monitoring |
JP2004139484A (ja) | 2002-10-21 | 2004-05-13 | Hitachi Ltd | 帳票処理装置、該装置実行のためのプログラム、及び、帳票書式作成プログラム |
WO2004038546A2 (en) | 2002-10-21 | 2004-05-06 | Bitfone Corporation | System with required enhancements to syncml dm environment to support firmware updates |
US7319542B2 (en) | 2002-10-29 | 2008-01-15 | Hewlett-Packard Development Company, L.P. | Document rehabilitation |
US20040083430A1 (en) | 2002-10-29 | 2004-04-29 | Boonen Paul J. J. | Method and apparatus to process portable document format data containing transparency |
US20040085551A1 (en) | 2002-10-31 | 2004-05-06 | David Serisky | Methods and systems for estimating print imaging material usage |
KR100636909B1 (ko) | 2002-11-14 | 2006-10-19 | 엘지전자 주식회사 | 확장성 표기 언어 기반의 전자문서 버전 매김 및 버전을이용한 갱신 문서 제공 방법 |
US20040103073A1 (en) | 2002-11-21 | 2004-05-27 | Blake M. Brian | System for and method of using component-based development and web tools to support a distributed data management system |
US7136941B2 (en) | 2002-12-04 | 2006-11-14 | Microsoft Corporation | Print management architecture for computing devices having a set of filters functions wherein the functions are prevented from conflicting with one another |
JP3962679B2 (ja) | 2002-12-05 | 2007-08-22 | キヤノン株式会社 | 印刷制御方法及び装置 |
US7441116B2 (en) | 2002-12-30 | 2008-10-21 | International Business Machines Corporation | Secure resource distribution through encrypted pointers |
US7319533B2 (en) | 2003-01-06 | 2008-01-15 | Sharp Laboratories Of America, Inc. | System for face-up printing from a duplex printer |
EP1452956A3 (en) | 2003-02-12 | 2010-03-17 | Canon Kabushiki Kaisha | print control system |
US20040172584A1 (en) | 2003-02-28 | 2004-09-02 | Microsoft Corporation | Method and system for enhancing paste functionality of a computer software application |
US7017112B2 (en) | 2003-02-28 | 2006-03-21 | Microsoft Corporation | Importing and exporting markup language data in a spreadsheet application document |
US20040181753A1 (en) | 2003-03-10 | 2004-09-16 | Michaelides Phyllis J. | Generic software adapter |
US7461337B2 (en) | 2003-03-12 | 2008-12-02 | International Business Machines Corporation | Exception markup documents |
JP2004280488A (ja) | 2003-03-17 | 2004-10-07 | Hitachi Ltd | 文書管理方法及び文書管理装置 |
US8014013B2 (en) | 2004-06-24 | 2011-09-06 | Sharp Laboratories Of America, Inc. | Systems and methods for segmenting pages and changing settings for graphical elements in printing |
US7493614B2 (en) | 2003-03-31 | 2009-02-17 | Microsoft Corporation | System architecture and related methods for dynamically adding software components to extend functionality of system processes |
US8290958B2 (en) | 2003-05-30 | 2012-10-16 | Dictaphone Corporation | Method, system, and apparatus for data reuse |
US20040221233A1 (en) | 2003-04-29 | 2004-11-04 | David Thielen | Systems and methods for report design and generation |
US7496853B2 (en) | 2003-05-08 | 2009-02-24 | International Business Machines Corporation | Method of managing items on a clipboard |
US20040225960A1 (en) | 2003-05-09 | 2004-11-11 | Microsoft Corporation | System for hosting graphical layout/presentation objects |
US20040230893A1 (en) | 2003-05-16 | 2004-11-18 | Dethe Elza | Method and system for enabling collaborative authoring of hierarchical documents with node privileges |
US7213035B2 (en) | 2003-05-17 | 2007-05-01 | Microsoft Corporation | System and method for providing multiple renditions of document content |
AU2003233572B8 (en) | 2003-05-17 | 2010-01-28 | Microsoft Technology Licensing, Llc | System and method for providing multiple renditions of document content |
US7168035B1 (en) | 2003-06-11 | 2007-01-23 | Microsoft Corporation | Building a view on markup language data through a set of components |
US7409673B2 (en) | 2003-06-24 | 2008-08-05 | Academia Sinica | XML document editor |
US20040267553A1 (en) | 2003-06-25 | 2004-12-30 | Brunton Greg M. | Evaluating storage options |
US6962449B2 (en) | 2003-06-30 | 2005-11-08 | Electronics For Imaging, Inc. | Methods and apparatus for media selection in cluster printing systems |
US7299410B2 (en) | 2003-07-01 | 2007-11-20 | Microsoft Corporation | System and method for reporting hierarchically arranged data in markup language formats |
US20050015767A1 (en) | 2003-07-01 | 2005-01-20 | Brian Nash | Operating system configuration tool |
US20050076109A1 (en) | 2003-07-11 | 2005-04-07 | Boban Mathew | Multimedia notification system and method |
US20050022113A1 (en) | 2003-07-24 | 2005-01-27 | Hanlon Robert Eliot | System and method to efficiently switch between paper, electronic and audio versions of documents |
US7171618B2 (en) | 2003-07-30 | 2007-01-30 | Xerox Corporation | Multi-versioned documents and method for creation and use thereof |
US7426525B2 (en) | 2003-08-08 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for identifying an object using an object description language |
US20050066335A1 (en) | 2003-09-23 | 2005-03-24 | Robert Aarts | System and method for exposing local clipboard functionality towards external applications |
US20050063010A1 (en) | 2003-09-24 | 2005-03-24 | Hewlett-Packard Development Company, L.P. | Multiple flow rendering using dynamic content |
KR20090035044A (ko) | 2003-09-26 | 2009-04-08 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘 피 | 네트워크에서의 생성자와 콘텐츠 서버 간의 업데이트 패키지 전송을 위한 업데이트 패키지 카탈로그 |
US20050068558A1 (en) | 2003-09-30 | 2005-03-31 | Jianxin Wang | Method and system to automatically update in real-time a printer driver configuration |
US7525684B2 (en) | 2003-10-14 | 2009-04-28 | Hewlett-Packard Development Company, L.P. | Color calibration |
US7882488B2 (en) | 2003-10-20 | 2011-02-01 | Robert Zeidman | Software tool for synthesizing a real-time operating system |
US20050091343A1 (en) | 2003-10-22 | 2005-04-28 | Bookfactory, Llc | System, method and computer program product for network resource processing |
US7721254B2 (en) | 2003-10-24 | 2010-05-18 | Microsoft Corporation | Programming interface for a computer platform |
JP2007510987A (ja) | 2003-10-27 | 2007-04-26 | アメリカン パワー コンバージョン コーポレイション | ソフトウェアプログラムを更新するためのシステムおよび方法 |
US8065616B2 (en) | 2003-10-27 | 2011-11-22 | Nokia Corporation | Multimedia presentation editor for a small-display communication terminal or computing device |
US8627489B2 (en) | 2003-10-31 | 2014-01-07 | Adobe Systems Incorporated | Distributed document version control |
US8074184B2 (en) | 2003-11-07 | 2011-12-06 | Mocrosoft Corporation | Modifying electronic documents with recognized content or other associated data |
JP4194476B2 (ja) | 2003-11-13 | 2008-12-10 | キヤノン株式会社 | 文書処理装置及び文書処理方法 |
US7543286B2 (en) | 2003-11-18 | 2009-06-02 | Microsoft Corporation | Method and system for mapping tags to classes using namespaces |
US7650512B2 (en) | 2003-11-18 | 2010-01-19 | Oracle International Corporation | Method of and system for searching unstructured data stored in a database |
US7434160B2 (en) | 2003-12-03 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | PDF document to PPML template translation |
US7464330B2 (en) | 2003-12-09 | 2008-12-09 | Microsoft Corporation | Context-free document portions with alternate formats |
US7617447B1 (en) | 2003-12-09 | 2009-11-10 | Microsoft Corporation | Context free document portions |
US7434157B2 (en) | 2003-12-09 | 2008-10-07 | Microsoft Corporation | Programmable object model for namespace or schema library support in a software application |
US7290222B2 (en) | 2003-12-15 | 2007-10-30 | International Business Machines Corporation | Methods, systems and computer program products for providing tree diagram graphical user interfaces having secondary expansion capabilities |
US20050138540A1 (en) | 2003-12-22 | 2005-06-23 | Xerox Corporation | Systems and methods for user-specific document change highlighting |
GB2409541A (en) | 2003-12-23 | 2005-06-29 | Mandorla Technology Ltd | Editable information management system and method |
US20050144556A1 (en) | 2003-12-31 | 2005-06-30 | Petersen Peter H. | XML schema token extension for XML document compression |
US7647281B2 (en) | 2004-02-19 | 2010-01-12 | Microsoft Corporation | Systems and methods for modeling approximate market equilibria |
US7242415B1 (en) | 2004-02-25 | 2007-07-10 | Adobe Systems Incorporated | Processing illustrations using stored information |
US7161598B2 (en) | 2004-02-26 | 2007-01-09 | Research In Motion Limited | Method of rendering text on an output device |
US20050198561A1 (en) | 2004-03-03 | 2005-09-08 | Bottomline Technologies (De) Inc. | System and method for dynamically linking data within a portable document file with related data content stored in a database |
US20050204016A1 (en) | 2004-03-03 | 2005-09-15 | Bottomline Technologies (De) Inc. | Thin client system and method for dynamically retrieving data and data processing systems related to data content within a portable document file |
US20050198069A1 (en) | 2004-03-05 | 2005-09-08 | Cherry Darrel D. | Meta-data association |
US7992145B2 (en) | 2004-03-05 | 2011-08-02 | Microsoft Corporation | Multilevel ticket-based job management architecture for computing devices |
US7296038B2 (en) | 2004-04-01 | 2007-11-13 | Sap Aktiengesellschaft | Context resolution |
US20050223373A1 (en) | 2004-04-05 | 2005-10-06 | Dell Products L.P. | Method for updating the firmware of a device |
US7739679B2 (en) | 2004-04-06 | 2010-06-15 | Hewlett-Packard Development Company, L.P. | Object ordering tool for facilitating generation of firmware update friendly binary image |
US7359902B2 (en) | 2004-04-30 | 2008-04-15 | Microsoft Corporation | Method and apparatus for maintaining relationships between parts in a package |
US7487448B2 (en) | 2004-04-30 | 2009-02-03 | Microsoft Corporation | Document mark up methods and systems |
US7549118B2 (en) | 2004-04-30 | 2009-06-16 | Microsoft Corporation | Methods and systems for defining documents with selectable and/or sequenceable parts |
US8661332B2 (en) | 2004-04-30 | 2014-02-25 | Microsoft Corporation | Method and apparatus for document processing |
US7383500B2 (en) | 2004-04-30 | 2008-06-03 | Microsoft Corporation | Methods and systems for building packages that contain pre-paginated documents |
US7512878B2 (en) | 2004-04-30 | 2009-03-31 | Microsoft Corporation | Modular document format |
US7418652B2 (en) | 2004-04-30 | 2008-08-26 | Microsoft Corporation | Method and apparatus for interleaving parts of a document |
US7755786B2 (en) | 2004-05-03 | 2010-07-13 | Microsoft Corporation | Systems and methods for support of various processing capabilities |
US8363232B2 (en) | 2004-05-03 | 2013-01-29 | Microsoft Corporation | Strategies for simultaneous peripheral operations on-line using hierarchically structured job information |
US7580948B2 (en) | 2004-05-03 | 2009-08-25 | Microsoft Corporation | Spooling strategies using structured job information |
US8243317B2 (en) | 2004-05-03 | 2012-08-14 | Microsoft Corporation | Hierarchical arrangement for spooling job data |
US7802182B2 (en) | 2004-05-21 | 2010-09-21 | Bea Systems Inc. | System and method for performing visual property updates |
US7769904B2 (en) | 2004-06-09 | 2010-08-03 | L-3 Communications Integrated Systems L.P. | Extensible binary mark-up language for efficient XML-based data communications and related systems and methods |
US7475341B2 (en) | 2004-06-15 | 2009-01-06 | At&T Intellectual Property I, L.P. | Converting the format of a portion of an electronic document |
US7290205B2 (en) | 2004-06-23 | 2007-10-30 | Sas Institute Inc. | System and method for management of document cross-reference links |
US7788662B2 (en) | 2004-07-28 | 2010-08-31 | Microsoft Corporation | Automatic upgrade of pluggable components |
US20060025091A1 (en) | 2004-08-02 | 2006-02-02 | Matsushita Electric Industrial Co., Ltd | Method for creating and using phrase history for accelerating instant messaging input on mobile devices |
WO2006017493A2 (en) | 2004-08-02 | 2006-02-16 | Justsystems Corporation | Approach for creating a tag or attribute in a markup language document |
US20060031760A1 (en) | 2004-08-05 | 2006-02-09 | Microsoft Corporation | Adaptive document layout server/client system and process |
JP4144883B2 (ja) | 2004-08-06 | 2008-09-03 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
US9286275B2 (en) | 2004-08-23 | 2016-03-15 | Oracle America, Inc. | System and method for automatically generating XML schema for validating XML input documents |
US7636891B2 (en) | 2004-08-31 | 2009-12-22 | Research In Motion Limited | Method for paginating a document structure of a document for viewing on a mobile communication device |
US7712027B2 (en) | 2004-08-31 | 2010-05-04 | Research In Motion Limited | Method for document page delivery to a mobile communication device |
US7617450B2 (en) | 2004-09-30 | 2009-11-10 | Microsoft Corporation | Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document |
US20060080316A1 (en) | 2004-10-08 | 2006-04-13 | Meridio Ltd | Multiple indexing of an electronic document to selectively permit access to the content and metadata thereof |
US20060117268A1 (en) | 2004-11-30 | 2006-06-01 | Micheal Talley | System and method for graphical element selection for region of interest compression |
US7277890B2 (en) | 2004-12-01 | 2007-10-02 | Research In Motion Limited | Method of finding a search string in a document for viewing on a mobile communication device |
US8108773B2 (en) | 2004-12-17 | 2012-01-31 | Xerox Corporation | Method and apparatus for generating instances of documents |
US7617451B2 (en) | 2004-12-20 | 2009-11-10 | Microsoft Corporation | Structuring data for word processing documents |
US7617229B2 (en) | 2004-12-20 | 2009-11-10 | Microsoft Corporation | Management and use of data in a computer-generated document |
US20060136816A1 (en) | 2004-12-20 | 2006-06-22 | Microsoft Corporation | File formats, methods, and computer program products for representing documents |
US7620889B2 (en) | 2004-12-20 | 2009-11-17 | Microsoft Corporation | Method and system for linking data ranges of a computer-generated document with associated extensible markup language elements |
US7614000B2 (en) | 2004-12-20 | 2009-11-03 | Microsoft Corporation | File formats, methods, and computer program products for representing presentations |
US7617444B2 (en) | 2004-12-20 | 2009-11-10 | Microsoft Corporation | File formats, methods, and computer program products for representing workbooks |
US7770180B2 (en) | 2004-12-21 | 2010-08-03 | Microsoft Corporation | Exposing embedded data in a computer-generated document |
US7752632B2 (en) | 2004-12-21 | 2010-07-06 | Microsoft Corporation | Method and system for exposing nested data in a computer-generated document in a transparent manner |
US20060146353A1 (en) | 2004-12-30 | 2006-07-06 | Microsoft Corporation | Strategies for rendering job information using a multi-personality driver device |
US7412649B2 (en) | 2005-01-24 | 2008-08-12 | International Business Machines Corporation | Viewing and editing markup language files with complex semantics |
US7412647B2 (en) | 2005-03-04 | 2008-08-12 | Microsoft Corporation | Method and system for laying out paginated content for viewing |
US7154503B2 (en) | 2005-03-31 | 2006-12-26 | Microsoft Corporation | Methods and systems for brush composition |
US20060259854A1 (en) | 2005-05-10 | 2006-11-16 | Microsoft Corporation | Structuring an electronic document for efficient identification and use of document parts |
US20070022128A1 (en) | 2005-06-03 | 2007-01-25 | Microsoft Corporation | Structuring data for spreadsheet documents |
US20060277452A1 (en) | 2005-06-03 | 2006-12-07 | Microsoft Corporation | Structuring data for presentation documents |
US7512265B1 (en) | 2005-07-11 | 2009-03-31 | Adobe Systems Incorporated | Merge and removal in a planar map of a raster image |
GB2430060A (en) | 2005-09-08 | 2007-03-14 | Hewlett Packard Development Co | Flows for variable data printing |
US7725530B2 (en) | 2005-12-12 | 2010-05-25 | Google Inc. | Proxy server collection of data for module incorporation into a container document |
US7676741B2 (en) | 2006-01-31 | 2010-03-09 | Microsoft Corporation | Structural context for fixed layout markup documents |
US7271935B2 (en) | 2006-02-10 | 2007-09-18 | Eastman Kodak Company | Self-calibrating printer and printer calibration method |
US7487464B2 (en) | 2006-02-16 | 2009-02-03 | International Business Machines Corporation | Enhanced visualization and selection of multi-layered elements in a containment hierarchy |
-
2004
- 2004-04-30 US US10/837,043 patent/US8661332B2/en active Active
- 2004-07-22 EP EP04757162A patent/EP1658565A4/en not_active Ceased
- 2004-07-22 WO PCT/US2004/023372 patent/WO2005111848A1/en not_active Application Discontinuation
- 2004-07-22 JP JP2007510682A patent/JP4854658B2/ja not_active Expired - Fee Related
- 2004-07-22 CN CNA2004800013129A patent/CN1799046A/zh active Pending
- 2004-07-22 KR KR1020057008241A patent/KR101137171B1/ko active IP Right Grant
- 2004-11-18 US US10/992,329 patent/US20050273704A1/en not_active Abandoned
-
2010
- 2010-06-07 JP JP2010129676A patent/JP5334916B2/ja not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452408B (zh) * | 2007-11-28 | 2013-07-17 | 国际商业机器公司 | 在软件应用程序中进行错误报告的系统和方法 |
CN103064871A (zh) * | 2011-10-20 | 2013-04-24 | 佳能株式会社 | 文档管理装置及其控制方法 |
CN103064871B (zh) * | 2011-10-20 | 2016-11-09 | 佳能株式会社 | 文档管理装置及其控制方法 |
CN108536890A (zh) * | 2012-11-12 | 2018-09-14 | 罗克韦尔自动化技术公司 | 用于人机接口动画图形元素的计算机辅助设计的方法及装置 |
CN109933752A (zh) * | 2017-12-15 | 2019-06-25 | 北京京东尚科信息技术有限公司 | 一种导出电子文档的方法和装置 |
CN109933752B (zh) * | 2017-12-15 | 2023-05-30 | 北京京东尚科信息技术有限公司 | 一种导出电子文档的方法和装置 |
CN113760246A (zh) * | 2021-09-06 | 2021-12-07 | 网易(杭州)网络有限公司 | 应用程序文本语言处理方法、装置、电子设备及存储介质 |
CN113760246B (zh) * | 2021-09-06 | 2023-08-11 | 网易(杭州)网络有限公司 | 应用程序文本语言处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2007535748A (ja) | 2007-12-06 |
EP1658565A4 (en) | 2011-12-07 |
EP1658565A1 (en) | 2006-05-24 |
WO2005111848A1 (en) | 2005-11-24 |
US20050251735A1 (en) | 2005-11-10 |
KR20070010096A (ko) | 2007-01-22 |
US20050273704A1 (en) | 2005-12-08 |
JP5334916B2 (ja) | 2013-11-06 |
KR101137171B1 (ko) | 2012-04-19 |
JP4854658B2 (ja) | 2012-01-18 |
JP2010218577A (ja) | 2010-09-30 |
US8661332B2 (en) | 2014-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1799046A (zh) | 用于文档处理的方法和装置 | |
CN1781089A (zh) | 构建包含预编页码文档的包的方法和系统 | |
CN1961304A (zh) | 交错文档的部件的方法和装置 | |
CN1809825A (zh) | 定义具有可选择和/或可定序部件的文档的方法和系统 | |
CN1833240A (zh) | 维护包内部件之间的关系的方法和装置 | |
CN1823330A (zh) | 模块化文档格式 | |
CN1204515C (zh) | 自由格式数据处理的方法和设备 | |
CN1267820C (zh) | 处理应用请求的方法和系统 | |
CN1679026A (zh) | Web服务设备和方法 | |
CN1585945A (zh) | 用于将xml模式映射到对象关系数据库系统的机制 | |
CN1834908A (zh) | 用于将开发模式应用于基于组件的应用程序的系统和方法 | |
CN1755674A (zh) | 用于同步合成,显示及处理文本和图象文件的方法和设备 | |
CN1524216A (zh) | 软件构件插件程序结构的系统和方法 | |
CN1761956A (zh) | 基于片段的串行化系统与方法 | |
CN1804835A (zh) | 多级设备性能分层结构 | |
CN1609792A (zh) | 计算机程序的编程接口 | |
CN1689022A (zh) | 可扩展标记语言流化转换器 | |
CN1073540A (zh) | 管理类方法名 | |
CN1073276A (zh) | 语言的中性对象 | |
CN1609793A (zh) | 用于计算机平台的编程接口 | |
CN1581156A (zh) | 信息处理系统、方法、程序和记录介质 | |
CN1679024A (zh) | 提供为特定客户机设备类型而优化的动态视口分层的成像系统 | |
CN1836243A (zh) | 具有射频识别能力的可扩展标记语言打印机系统 | |
CN1591406A (zh) | 集成多应用数据处理系统 | |
CN1717031A (zh) | 图像记录方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20060705 |