文件设计捕获和重复使用系统转让专利

申请号 : CN201180065959.8

文献号 : CN103314368B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : D.N.斯拉特A.亨特D.格雷格

申请人 : 惠普发展公司有限责任合伙企业

摘要 :

系统(200)可以包括用来存储计算机可执行指令的存储器(208)和用来访问存储器并执行计算机可执行指令的处理单元(210)。计算机可执行指令可以包括捕获工具(14,206),其用于将内容(24,222)导入到设计文件(26,212)中并且对应于容器在逻辑上将内容分组成逻辑组。响应于用户输入,动态行为可以被分配给容器,以控制容器内的内容的布局以及提供在存储器中存储的源复合文件(12,202)以针对容器中的可编辑内容保留动态行为。

权利要求 :

1.一种用于对复合文件的设计和重复使用的系统(2,200),包括:存储器(4,208),用于存储计算机可执行指令;以及

处理单元(6,210),用于访问存储器并且执行计算机可执行指令,所述计算机可执行指令包括:捕获工具(14,206),用于将内容(24,222)导入到设计文件(26,212)中并且对应于容器在逻辑上将内容分组成逻辑组,响应于用户输入而向所述容器分配动态行为,以控制容器内的内容的布局以及提供在存储器中存储的源复合文件(12,202)来针对容器中的可编辑内容保留动态行为;

其中,计算机可执行指令进一步包括重复使用工具(256),用于访问源复合文件和将源复合文件存储为可编辑目标复合文件(240),所述重复使用工具被编程为响应于用户输入而操纵目标复合文件中的内容,使得响应于用户输入使所述布局自动地适应,而不用改变被分配给内容的每个分组的动态行为(244)。

2.根据权利要求1所述的系统,其中,捕获工具(206)进一步包括内容导入组件(224),用于从响应于用户输入而选择的内容源(220)中检索内容,所述检索的内容被存储在存储器中。

3.根据权利要求2所述的系统,其中,捕获工具(206)进一步包括转换器(226),用于将从内容源(220)检索的内容转换成多个原始对象并且结合所述多个原始对象来形成作为设计文件在存储器中存储的内容的逻辑组,所述捕获工具发布设计文件作为源复合文件用于重复使用。

4.根据权利要求3所述的系统,进一步包括设计编辑器(228),用于提供图形用户界面,所述设计编辑器包括:选择器(230),用于响应于用户输入而从源文件中选择一组对象块;以及行为分配组件(232),用于向所选择的对象块组分配动态行为。

5.根据权利要求4所述的系统,其中,动态行为包括响应于用户输入而选择的布局引擎。

6.根据权利要求5所述的系统,其中,源复合文件(202)包括分层结构,其对应于相应的容器为对象块的每个组定义层次,所述行为分配组件(232)被编程为向设计文件中的每个相应的容器分配用户选择的布局引擎。

7.根据权利要求5所述的系统,进一步包括属性分配组件(234),用于向设计文件中的用户所选择的内容元素分配属性。

8.根据权利要求3所述的系统,其中,从内容源检索的内容(222)包括PDF文档。

9.根据权利要求1所述的系统,其中,所述动态行为(244)包括布局引擎,所述目标复合文件(240)包括针对目标复合文件中的每个容器定义层次的分层结构,每个容器维持经由捕获工具(206)分配给源复合文件的布局引擎。

10.一种用于对复合文件的设计和重复使用的设备,包括:用于从内容源检索内容的装置;

用于对应于容器在逻辑上将所检索的内容分组成逻辑组的装置,用于响应于用户输入,向所述容器分配动态行为,以控制存在于容器内的内容元素的布局的装置;

用于发布源复合文件以针对每个容器中的内容保留动态行为的装置;

用于基于所述源复合文件来生成可编辑目标复合文件的装置;以及用于响应于根据所分配的动态行为的内容的用户操纵而使目标复合文件中的内容的布局适应的装置。

11.一种用于对复合文件的设计和重复使用的方法(300),包括:从内容源(302)检索内容;

对应于容器(304)在逻辑上将所检索的内容分组成逻辑组,响应于用户输入,向所述容器分配动态行为,以控制存在于容器内的内容元素的布局(306);

发布源复合文件以针对每个容器中的内容保留动态行为(308);

基于所述源复合文件来生成可编辑目标复合文件(310);以及响应于根据所分配的动态行为的内容的用户操纵而使目标复合文件中的内容的布局适应(312)。

说明书 :

文件设计捕获和重复使用系统

背景技术

[0001] 存在用于建立和编辑文件的工具。然而,用于检索和操纵来自其它源的内容的许多现有的工具对于许多用户而言可能是难以实施的。例如,一些工具采用复杂的界面,其可能需要工具的详细知识来建立文件。附加地,许多系统对于产生具有丰富布局的文件类型而言太受约束而不能产生类似杂志的页面和展开。

附图说明

[0002] 图1描绘了用于对复合文件的设计和重复使用的系统的示例。
[0003] 图2描绘了用于对复合文件的设计和重复使用的系统的示例。
[0004] 图3描绘了复合文件的示例。
[0005] 图4描绘了复合文件的数据结构表示的示例。
[0006] 图5描绘了用于对复合文件的设计和重复使用的另一系统的示例。
[0007] 图6是用于生成针对复合文件的布局的方法的示例的流程图。

具体实施方式

[0008] 图1描绘了可以被利用来设计复合文件12的系统2的示例。系统2可以包括用于存储机器可读指令(包括计算机可执行指令)的存储器4。系统2还可以包括用于访问存储器4并执行对应的机器可读指令的处理单元6。在图1的示例中,处理单元6可以执行机器可读指令,其包括诸如可以被存储在存储器4中的用于将内容24导入到设计文件26中的捕获工具14。捕获工具14还可以对应于容器在逻辑上将内容分组成逻辑组并且响应于用户输入而向容器分配动态行为,以控制容器内的内容布局。捕获工具14可以提供源复合文件12以保留针对容器中的可编辑内容的动态行为。源复合文件12可以被存储在存储器4中,诸如用于由用户重复使用。
[0009] 图2描绘了可以被利用来设计和重复使用复合文件12的系统10的示例。系统10包括可以被采用来生成源复合文件12的捕获工具14。例如,捕获工具包括布局控制16,设计者-用户可以采用该布局控制16来选择性地对元素进行分组并且对给定组的元素分配动态行为。所分配的动态行为可以被存储为源复合文件12的一部分。
[0010] 如在本文中所使用的,术语“包括”意思是包括但不限于,“包括有”意思是包括有但不限于。术语“基于”意思是至少部分地基于。
[0011] 捕获工具14可以访问来自内容源的内容24,所述内容可以以各种内容类型和文档格式中的任一种存在。捕获工具14可以检索内容并将它存储为设计文件26。捕获工具的布局控制16可以被利用来修改设计文件中的内容和内容组的动态行为。例如,设计者-用户(例如,专业设计人员)可以考虑如果遭受内容改变则内容元素组应当如何被布局。设计者-用户可以因而采用布局控制16来向设计文件中的所选内容块分配动态行为。作为一个示例,动态行为可以被实施为布局引擎,并且系统10可以实施任何数目和类型的布局引擎。设计者-用户可以向设计文件26中的所选内容块分配(例如,选自可用算法的列表的)布局引擎。设计者-用户可以采用捕获工具以发布作为结果的设计文件和其相关联的动态行为作为源复合文件12。
[0012] 系统10还包括重复使用工具18,其可以被利用来访问源复合文件12并将该文件存储在可编辑目标复合文件20内。例如,重复使用工具18包括编辑器22,其可以操纵目标复合文件中的内容,所述操纵可以包括添加内容、移除内容或改变内容的属性。重复使用工具18被编程来使其适应目标复合文件的布局,而不用改变设计者已经经由捕获工具14分配的动态行为。
[0013] 这样,不太老练的用户可以采用重复使用工具以基于由更擅长复合文件设计和设计界面的审美学的更老练的设计者-用户(例如,使用捕获工具14的专业设计者)设计的复合文件的布置和行为,来产生丰富的合意的专业外观布局。
[0014] 如在本文中所使用的,复合文件指的是文件包含一组选自包括存在于容器中的具有相关联的布局格式的文本元素、图形元素、多媒体(例如,音频、视频或音频-视频)元素和图像元素的组中的内容元素。图像元素是像素阵列,诸如,例如,照片。图形元素可以是像素阵列,但可以常常具有与图形相关联的向量表示(包括可伸缩向量图形(SVG))。向量表示是容易可伸缩的,而没有品质的损失。图形元素可以用于边缘和装饰、颜色梯度、标志图、图等等。文本元素可以是文本块、页码、图索引或标题。标题文本可以包括(例如,由设计者事先指定的)着重点,诸如大文本、粗体、下划线等和标签来标识其将被放置在布局的顶部处或在布局中被首先布置。这些元素的布局可以完全是二维的,使得其不受限于将字符和图像的一维线掺入到复合文件的固定列或页面中。
[0015] 附加地,术语“源复合文件”中的修饰语“源”意在指示文件将被用作内容的源。同样地,源复合文件在其创建时可以使写保护的,使得任何部分或整个文件可以被复制到目标复合文件中,而不会引起源复合文件的改变。术语“目标复合文件”中的修饰语“目标”意在指示文件是可编辑文件,用户可以操纵其内容。如以上所提到的,然而,在对应的源复合文件中被分配给容器的动态行为(例如,布局引擎)在目标复合文件中保持不可由用户改变的。
[0016] 每个复合文件12和20可以进一步被表示用于通过容器的分层结构进行的计算和内容元素。如在本文中所使用的,容器涉及具有可以保存一组一个或多个元素16的布局格式的结构。每个容器可以进一步包括将被用于在其中布置元素的容器指定的布局引擎和布局参数(例如,布局规则),如经由捕获工具14指定的那样。容器-指定的布局引擎布置和修改其容器中的元素以通过对元素和它们的属性应用规则来满足可用界面(例如,页面)的形状和尺寸。布局引擎的类型的示例包括封锁递归图像组成(BRIC)布局引擎,柱状布局引擎、以及其它类型的动态布局技术(和相关联的算法)。
[0017] 容器可以包括被嵌套在其中以支持定义嵌套布局的复合文件的一个或多个其它的容器。容器的示例包括页面、展开,包括两个迎面页、一组图像、具有题目等的一组图像。针对每个复合文件12和20的作为结果的文件结构因而可以被描述为多级分层动态布局。
[0018] 通过示例的方式,图3图示了复合文件50(诸如可以由图1或2的捕获工具14生成的源复合文件12和对应的目标复合文件20)的示例框图。在图3的示例中,复合文件50包括元素52、54、56、58、60、62、64、66、67、70、72和74的布置,诸如可以包括图像元素、文本元素和布局元素。元素68、70、72和74存在于嵌套布局64内,诸如可以使任何期望类型的布局元素(例如,BRIC布局)。嵌套布局元素64、内容元素60和内容元素66存在于页面布局容器76内。元素52和56存在于另一页面布局容器80的共同的列78中,而54和58存在于同一页面布局80的又一列82内。页面布局容器76和80进一步存在于包含两个相应的页面的展开布局84中。
[0019] 诸如经由重复使用工具(例如,图2的重复使用工具18或图5的重复使用工具256),可以操纵复合文件50的内容。内容操纵可以是在展开84内移动内容元素52、54、56、
58、60、62、64、66、68、70、72和74、将新内容添加到该展开中、从该展开中移除内容元素等等。响应于内容的这样的用户-操纵,针对每个容器的布局引擎可以重新计算其布局。布局引擎可以在根据复合文件50的分层结构的层次的更低级处应用于内容元素中的每一个。
[0020] 图4描绘了分层文件结构表示100的示例。在图3的示例中,数据结构对应于展开,尽管可以生成其它类型和格式的复合文件(例如,单个页面或标语)。
[0021] 数据结构100可以被表示为具有多个容器节点102、104、106及108和多个内容节点110、112、114、116和118的二叉树。在图4的示例中,内容节点110、112、114、116和118被实施为对应于容器节点102、104、106和108的叶节点。容器节点102、104、106和108中的每一个都包括布局引擎120、122、124和126。数据结构100中的节点层次规定每个布局引擎在分支和层次中其之下的子节点上的影响。每个布局引擎120、122、124和126还基于将与内容元素中的每一个相关联的属性来确定存在于每个容器内的元素(例如,内容元素或嵌套容器)的布局。
[0022] 在示例结构100中,根节点(“展开”)102具有两个子节点(“页面1”和“页面2”)104和106。内容节点(“元素1”和“元素2”)110和112是容器节点104的叶节点。容器节点106具有内容节点(“元素3”)114和容器节点108作为其孩子。容器节点108本身是包括布局引擎126的布局结构(“布局2”),所述布局引擎126用于确定被包含在其中的其子叶节点元素(“元素4”和“元素5”)的作为结果的布局。因而,容器节点108对应于嵌套布局,其可以是任何类型的布局(例如,柱状布局、BRIC布局等。)。
[0023] 内容元素110、112、114、116和118中的每一个包括相关联的属性数据128、130、132、134和136。属性可以由设计者-用户(例如,经由图1或2的捕获工具14)分配。属性可以指定元素类型(例如,图像类型、文本块、图形等),布局约束(例如,对于其它元素的位置、尺寸、逻辑关系等)以及与给定元素相关联的作者身份和收入或成本。给定复合文件可以由多个展开形成,这些展开可以根据容器的布局格式而相同或不同。图4的示例展示了针对可以被利用的复合文件的分层表示的仅一个示例。可以基于在本文中的教导来利用各种其它的结构和内容。
[0024] 图5描绘了可以被实施用于对源复合文件202的设计和重复使用的另一系统200的示例。系统200包括设计系统204,可以实施所述设计系统204用于被利用来创建源复合文件202的设计阶段。设计系统204包括捕获工具206。捕获工具206可以被存储在存储器208中作为计算机可读指令。处理器210可以访问对应于捕获工具206的计算机可读指令并执行这些指令。例如,存储器208可以包括物理存储器诸如可以存在于处理器210上的(例如,处理器存储器),随机存取存储器、或其它的物理存储介质(例如,CD ROM、DVD、闪速存储器、硬盘驱动器等。)或可以存储计算机可读指令的不同存储设备的组合。捕获工具206还可以利用设计文件212,其可以被存储在存储器208中供建立源复合文件202之用。
[0025] 源复合文件202也可以被存储在相关联的存储器214中。在本示例实施方式中,源复合文件202和其相关联的存储器214可以是可由设计系统204经由网络216访问的。网络216可以是互连计算机的任何集合,诸如可以形成局域网、广域网或其它的类型计算架构(例如,云计算环境)。设计系统可以采用处理器210和相关联的接口218来访问存储器214和被存储在其中的数据。附加地,接口218可以被利用来访问源220,其包含可以被利用以生成源复合文件202的内容222,如在本文中所描述的那样。
[0026] 在图5的示例中,存储器214被展示为与存储器208不同并且相对于该存储器208被远程地定位。可替换地,源复合文件202可以被存储在设计系统204内,诸如在存储器208中。
[0027] 捕获工具206可以包括内容导入组件224,其可以被编程来访问和检索来自内容220的源的内容222。例如,内容导入组件224可以响应于在捕获工具206处接收的用户输入指令而以一种或多种不同形式访问和检索内容。例如,内容导入组件224可以利用图形用户界面(GUI),诸如浏览器、文件管理系统或其它现有的工具来访问来自内容源220的内容(例如,文件文档)222。要理解的是,虽然内容源220被描绘为耦合到网络216,但是可以在设计系统204内可替换地(或附加地)实施内容源220和其内容222。内容导入组件224因而可以检索内容222和被存储在存储器208中作为设计文件212。因而设计文件212可以被存储作为以预定格式的可以被捕获工具206修改用于产生对应的源复合文件202的文件。
[0028] 作为另外的示例,内容导入组件224可以包括用于将从内容源220检索的内容222转换成预定可编辑格式的转换器226。例如,该转换器可以在所检索的内容222中标识多个原始对象并且整体地将这样的原始对象结合到内容的逻辑分组中。转换器226也可以实施正被检索的内容的自动解释,包括可以被利用来形成分层构造的复合文件的内容块和分层关系的标识。内容的逻辑分组可以在存储器208中被存储为设计文件212。
[0029] 例如,内容222可以对应于可移植文件格式(PDF)文档或在固定布局文件中压缩内容的描述的其它的文件格式。转换器226因而可以被编程来解析内容222和在文件中标识原始对象并且通过整体地结合原始文件来对这样的原始文件进行分组以在设计文件内形成对象块。对象块的示例可以包括图像、文本块(例如,词、短语)。转换量和原始对象的分组范围可以根据转换器226的类型和复杂度而不同。
[0030] 捕获工具206还包括设计编辑器228,以对应于容器在逻辑上将内容(包括由转换器226标识的原始对象和其它分组)分组成对应的用户-指定的逻辑组。设计编辑器228进一步可以向设计文件中的每个容器分配行为并且转而构造分层文件结构,其中可以针对层次的每一级指定动态行为。
[0031] 在图5的示例中,设计编辑器包括选择器230,其可以提供被编程为响应于用户输入来在设计文件中选择内容块或对象的GUI。例如,用户可以采用选择器230来基于从用户输入设备接收的指令经由光标(或其它的定点用户界面元素)选择一个或多个内容对象。所选择的对象可以被分组成定义容器的对象的逻辑分组。
[0032] 设计编辑器228还可以包括可以被利用来响应于用户输入而向所选择的容器分配期望的动态行为的行为分配组件232。动态行为可以被利用来对存在于容器内的所选择组的对象块控制内容的布局。例如,动态行为可以包括响应于用户输入而(例如,从可用布局引擎的列表中)选择的布局引擎。被呈现给设计者-用户的可用布局引擎的列表可以根据给定容器内的内容的属性而不同。例如,可用布局引擎的不同集合可以被呈现给设计者-用户用于包括仅图像、仅文本块、或者文本和图像的组合的内容。
[0033] 附加地,设计者-用户可以采用行为分配组件232来在形成设计文件212的分层文件结构中在层次的每一级处指定不同布局引擎。因而经由行为分配组件232分配的动态行为可以被利用来将分组对象的所指定的动态行为维持成与设计者-用户的意图一致。
[0034] 设计者编辑器228还可以包括属性分配组件234。属性分配组件可以被利用来向设计文件212中的元素或对象中的每一个分配属性。例如可以经由包括元素属性的列表的图形用户界面来分配属性。针对给定元素或对象的可用属性的列表可以根据(例如,经由行为分配组件232)分配给其中存在给定元素或对象的容器的布局引擎而不同。例如,如果柱状布局已经分配给其中已经放置了一组一个或多个对象的容器,则属性分配组件可以提供与柱状布局有关的属性的集合,诸如对列的数目的约束、对在相应列中或在多个列中的给定元素的宽度或者该元素的放置的约束。这样,可以在给定的设计文件中针对元素中的每一个容易指定属性,所述给定的设计文件与已经被分配给这样的元素的动态行为一致。
[0035] 可以经由属性分配组件234来分配的其它元素属性的示例可以包括分配标题属性给文本块(例如,使得其在作为结果的布局中作为标题进行操作),或者在元素对之间的其它逻辑分组,所述其它逻辑分组可以控制这样的元素相对于彼此的顺序、相对次序或对准。可以在存储器208中与设计文件212一起存储经由设计编辑器228指定的行为和属性,作为文件分层结构的一部分。
[0036] 捕获工具206还包括发布器236,其可以被利用来在存储器214中存储源复合文件202(对应于完整的设计文件212)。发布器可以在设计文件212的创建时或响应于用户输入请求而自动发布源复合文件用于后续用户访问(例如,通过重复使用工具256)。一旦已经发布了源复合文件202,则其可以由一个或其它用户访问用于生成对应的目标复合文件240。源复合文件202因而包括内容242的布置和控制内容的布局的动态行为244。行为244进一步可以基于在内容242中已经被分配给元素或元素组的内容属性246而不同。这样,用户可以访问并利用源复合文件的内容和布局,使得当源复合文件被复制到目标复合文件240中时促进源复合文件的动态行为的重复使用。
[0037] 除了行为244以外,目标复合文件240可以包括内容248以及针对其内容元素的属性250。内容248和内容元素250可以与源复合文件202的内容和内容元素不同。然而,被复制到目标复合文件240的元素组的动态行为244保持不改变的,而布局可以自动地适应于内容248中的改变,其可以包括内容元素250和/或容器中的改变。作为一个示例,用户可以采用重复使用工具256来任意地将容器插入到目标复合文件240内的其它容器中。虽然特定容器布局其孩子的方式未改变,但是页面容器(或文件容器)的外观上的动态行为可以由于其孩子的改变而改变。例如,新孩子可以具有与先前的孩子不同的固有动态行为。
[0038] 作为一个示例,系统200可以包括重复使用系统252,其访问并检索源复合文件202并且将它存储在存储器254中作为目标复合文件240。目标复合文件240可以包括内容248和动态行为信息244。虽然,如以上所提到的,动态行为信息244保持不改变的,但是内容248和元素属性250可以与源复合文件的内容和元素属性不同。
[0039] 在图5的示例中,重复使用系统252包括重复使用工具256,其被编程为根据用户所选择的内容来操纵目标复合文件240。重复使用工具256可以包括编辑器258,其可以被利用来操纵目标复合文件240的内容。例如,编辑器258可以被实施为包括GUI,例如,修改、添加或移除可以被存储在存储器254中的目标复合文件的内容和属性。内容的这样的操纵还可以涉及从内容的一个或多个其它的源(例如,源220)或从可以经由重复使用系统252访问的任何源(包括在存储器254或可以经由重复使用系统访问的其它介质存储内)检索内容元素。响应于经由编辑器258对内容248的用户-操纵(包括添加、移除或以其它方式修改内容或内容属性),目标复合文件的行为信息(例如,布局引擎)可以响应于这样的操纵而自动地适应内容248的布局。可替换地,这样的适应可以响应于用户输入而被发起。这样,虽然内容可以被改变用于目标复合文件240,但是被复制到目标复合文件的元素组的动态行为244保持不改变的以致于维持源复合文件202的设计者的最初意图和美学属性。
[0040] 重复使用工具256包括内容选择器262,其可以被利用来在复合目标文件240中选择元素。用户可以采用内容选择器262来选择内容元素以用于对目标复合文件240的操纵,诸如包括进一步对内容元素、容器和其组合的操纵。例如,内容选择器262可以被实施为包括GUI,其可以经由光标或其它的定点元素在目标复合文件240内选择容器和元素,诸如以修改所选择内容的位置或属性以及修改或添加来自另一内容源(例如,来自重复使用系统252中的源复合文件)的内容。
[0041] 如在图5的示例中所展示的,重复使用系统252还包括处理器260,其可以访问在存储器254中存储的计算机可读指令(例如,包括重复使用工具256)以用于执行与重复使用工具256相关联的在本文中所描述的功能。重复使用系统252还可以采用相关联的接口264来经由网络216访问复杂源文件并且访问位于内容源220中的内容222。这样,通过采用从源复合文件202检索的目标复合文件,用户可以利用经由针对用户-指定内容使用捕获工具的捕获阶段被提供的动态行为(例如,布局引擎)。目标复合文件240可以因而采用使设计适应于新内容的动态行为以及逐渐移动和所选择的容器,而不会影响经由通过设计者-用户在分层结构文件的层次的每一级处施加的动态行为而对文件施加的美学设计选择。
[0042] 鉴于以上所描述的前述结构特征和功能特征,参照图6将更好地认识示例方法。虽然,为了解释的简单的目的,图6的示例方法被示出和描述为顺序地执行,但是要理解和认识到的是,示例不被所图示的次序限制,因为一些行动可以在其它示例中以与本文中示出和描述的次序不同的次序和/或同时发生。图6的方法可以被实施为由处理器(例如,图
1的处理器6;图5的处理器210和/或260)执行的计算机可执行指令或者被实施为在存储器(例如,图1的存储器4;图5的存储器208和/或254)中存储的计算机可读数据。
[0043] 图6描绘了用于对复合文件的设计和重复使用的方法300的示例。在302处,该方法包括从内容源检索内容(例如,远程或本地源存储的内容,诸如图1或2的内容24,或者图5的内容222)。在304处,对应于容器(例如,经由图5的选择器230)将所检索的内容分组成逻辑组。在306处,响应于用户输入而(例如,经由图5的行为分配组件232)向容器分配动态行为,以控制存在于容器内的内容元素的布局。在308处,源复合文件被发布(例如,经由图5的发布器236被发布用于重复使用)以针对其每个容器中的内容保留动态行为。在
310处,基于源复合文件(例如,经由图2的重复使用工具18或者图5的重复使用工具256)来生成可编辑目标复合文件。在312处,响应于根据分配的动态行为的内容的用户操纵而使目标复合文件中的内容的布局适应。
[0044] 已经在以上描述的内容的示例。显然,不可能描述本发明的每一个可设想示例,但是本领域中的普通技术人员将认识到其它示例实施例是可能的。因此,本公开意在包含所有实施例,诸如包括落入在所附权利要求书的范围内的改变、修改和变形。附加地,在本公开或权利要求记载“一”、“一个”、“第一个”或“另一个”元素或其等同物的情况下,应当理解的是包括一个或多于一个这样的元素,既不要求也不排除两个或更多这样的元素。