电子表单中的声明式尺寸可变列表的制作方法

文档序号:6462327阅读:162来源:国知局
专利名称:电子表单中的声明式尺寸可变列表的制作方法
电子表单中的声明式尺寸可变列表技术领域本实施方式涉及对电子内容的管理,更具体地,涉及支持声明 式指定的尺寸可变列表的方法和系统。
背景技术
在很多研究领域中,有必要向用户呈现有时候嵌入在例如web 页面或电子文档的其他电子内容中的电子表单(electronic form )。 这些电子表单通常作为图形用户界面(GUI)来呈现,并且用户可以 使用 一个或多个用户输入设备来填写该表单。根据从用户收集的信息的特性,电子表单可以包括多种不同类 型的域。通常的例子包括单行文本域(其中用户将光标或其他指示 置于矩形呈递(render)区域中并输入单行文本,所述单行文本出现 在呈递中,并接着可以关联于文本域的标识符进行传输和存储)、 用于输入较大文本的多行文本输入框、各种二进制输入(例如,各 种语义相关标签附近的复选框)以及可选的项目列表。此类列表可 以包括能够示出单个列表条目的矩形框。通过点击通常与该框结合 定位的按钮,呈递出较大的框来示出多个可选项目。该较大框有时 候出现在原始框下方,因此这种可选列表已经公知为"下拉列表,,。 一旦用户已经选择了项目(例如,这可以包括但不限于通过鼠标或 其他设备在其文本上点击),则较大的框消失并且所选项目在该矩 形框中示出。某些其他列表(有时称为滚动列表)的形式可以为矩 形域,并且可以具有滚动条或其他情景支持(affordance)以便能够 一次性示出若干列表条目,从而允许用户浏览各种列表项目,其中 列表项目的数量大于在该显示设备上呈递的矩形中可容纳的列表项 目的数量。可以在文件中描述电子表单,其中该文件包括可以称为表单模 板的数据。此表单模板可以包括描述电子表单的有关信息,包括有下列信息将要显示的各种表单元素、它们的标签、它们的尺寸以 及将要显示的元素的空间关系。此表单模板还可以包括用于预填充 该表单(例如,将要在列表中显示的项目列表)呈递的数据或可执 行指令(有时也称为"脚本"),以从数据存储中获取项目(例如 短文本串),其中所获取的项目包括在表单元素的呈递中。例如, 表单模板可以指定将要呈递的滚动列表,并且可以将文本标签列表包括在列表呈递中以作为GUI可选项目来示出。


以例子的方式示出了一些实施方式,并且不限于所附附图的图 表,在附图中图1是根据一个示例实施方式的、可以在图形用户界面中由表 单应用呈现的电子表单呈递的图示;图2图示了根据一个示例实施方式的、响应于经由图形用户界 面的电子表单的用户呈递操作的、图1中的用户界面窗口的再呈递;图3图示了根据一个示例实施方式的、可以由表单应用用来呈 递电子内容的图形用户界面窗口的进一步例子,其中电子内容例如 是包括或与表单模板相关联的电子文档;图4图示了根据一个示例实施方式的、可以在其中重新呈递了 列表呈递之后出现的、在图3中介绍的图形用户界面;图5图示了根据一个示例实施方式的、用于认证、存储和通信 表单模板的系统;图6图示了根据一个示例实施方式的、可以用来接收、处理、 呈递和/或接收与可以包括列表描述符的表单模板相关联的用户输入 的系统;图7是根据一个示例实施方式的、包括两个表单模板的电子文 档的图形表示;图8和图9图示了根据一个示例实施方式的两个表单模板表示, 其中提供附加数据以填充列表呈递,该列表呈递具有将要在滚动列 表的呈递中进行呈递的列表元素;图10图示了根据一个示例实施方式的、可以在表示表单模板的 XML文档中表示的示例性数据列表描述符;图11图示了根据一个示例实施方式的列表描述符,其中通过脚 本来添加将要在列表呈递中进行呈递的附加列表项目;图12图示了根据一个示例实施方式的列表描述符,其中响应于 与图形用户界面项目进行的用户交互,通过脚本来修改一组列表元素;图13和图14图示了根据一个示例实施方式的列表描述符的例 子,其中列表元素经由从第二数据存储获取而关联或绑定于该列表 描述符;图15是根据一个示例实施方式的、包含数据结构的示例性表单 的图示,该数据结构可以由电子内容处理应用或表单应用来维护;图16图示了根据一个示例实施方式的、 一部分电子文档的显示 列表;图17图示了根据一个示例实施方式的、响应于相邻于列表呈递 所呈递的表单元素的尺寸改变而改变列表呈递描述性数据结构的线 性尺寸的处理;图18图示了根据一个示例实施方式的、对包括声明式指定的尺 寸可变能力指示的列表描述符进行认证的处理流程图;图19是根据一个示例实施方式的、图示了用于生成和存储包括 表单模板的电子内容的处理的流程图;图20是根据一个示例实施方式的、图示了用于创建包括列表描 述符的表单模板的处理的流程图;图21是根据一个示例实施方式的、用于访问列表描述符和用于 基于列表描述符来呈现列表呈递的处理流程图;图22是根据一个示例实施方式的、图示了用于访问列表描述符和用于基于该列表描述符来呈现列表呈递的又一处理的流程图;图23是图示了根据一个示例实施方式的、用于访问表单模板并 生成和呈现列表呈递的又 一 处理的流程图;图24是根据一个示例实施方式的、图示了包括下列过程的流程 图基于列表描述符来生成第一列表呈递,基于与第一列表呈递相 比具有不同线性尺寸的另一表单元素呈递来生成第二列表呈递,以 及呈现该第二列表呈递;图25图示了根据一个示例实施方式的、包括基于声明式指定尺 寸可变能力指示的列表描述符的列表呈递的示例用户界面;图26图示了根据一个示例实施方式的另一图形用户界面,其包 括基于具有声明式指定的尺寸可变能力指示的列表描述符的列表呈 递;以及图27示出了示例形式的计算机系统中的机器图形表示,其中可 以执行用于使机器执行这里所述的任意一个或多个方法的一组指令。
具体实施方式
在下面的描述中,出于解释的目的,阐述了若干具体细节,从 而提供对一些示例实施方式的整体理解。然而,本领域技术人员可 以理解的是,即使没有这些具体细节,本发明也可以在其他实施方 式中实践。实施方式例如可以实现为独立应用(例如没有任何网络能力)、 客户端-服务器应用或点对点(或分布式)应用。除了通过传统渠道 来许可或销售之外,实施方式还可以例如通过软件即服务(SaaS)、 应用服务提供商(ASP)或应用程序计算提供商来部署。介绍在电子表单中,各种表单元素可以针对彼此进行设置,和/或可 以根据表单模板中的描述直观地进行归组。在一些实施方式中,电子表单可以改变尺寸,例如通过在比其原始呈递更大或更小的尺寸 来整体地重绘其呈递。在这样做的时候,表单的各种元素可以以与 原始尺寸不同的尺寸来重绘。各种表单元素的呈递也可以响应于用 户动作来改变尺寸。例如,多行文本输入框可以重新呈递,以便随 着用户向文本输入框的呈递中输入文本数量增多而扩大尺寸。在一些实施方式中,滚动列表或下拉列表可以进行尺寸调整或 尺寸改变,以呈现满意的外观。例如,如果滚动列表示出为与文本 框相邻,则二者一开始均可以以小尺寸来呈递。但当用户向文本框 中输入文本数量增多并且文本框响应于在显示设备上占用更多区域 而进行重新呈递时,相邻的滚动列表可以重新呈递以1^更与该文本框 具有相似尺寸,从而即使当文本输入框的呈递响应于用户的文本输 入而在尺寸上增加时,整体表单也保持视觉上满意的均衡外观。类 似地,在一些实施方式中,滚动列表或下拉列表可以响应于电子表 单中的用户输入和动作而进行重新呈递。例如,如果滚动列表原本只包含一些项目,则滚动列表可以响应于表单GUI上的其他用户动 作(例如,复选框的选择)而通过附加项目来进行重新呈递。此滚动列表重新呈递可以通过在表单模板或在关联程序代码中 提供专用脚本或其他编程指令来实现。然而,此类脚本或其他编程 指令超出了大多数希望创建电子表单的人的技能。在一些情况下, 此类编程指令将需要对管理和呈递电子表单的软件所使用的数据结 构进行操作。此外,由于单个表单模板可以由各种应用软件程序来 呈递和使用,所以需要对若干指令组进行编程,每个组专用于特定 应用程序的数据结构。此外, 一些此类应用程序可能根本不支持此 编程指令,使得表单设计人员不能提供其尺寸可随时间改变的滚动列表。出于本说明书的目的,将采用术语"电子内容",以包括可以 向消费者呈现(例如,可视地或者可听地呈现)的任何数字数据, 并且可以包括电子文档、页面描述电子内容例如页面描述电子文档、 媒体流、web页面、超文本文档、图像、数字视频、数字音频、动画,这些仅出于示例的目的。"内容元素"将包括定义或识别为部分或一份(share)的电子内容的任何部分或者一份。例如,可以自 动地从内容元素自身的特性(例如,电子文档的段落)中识别出内 容元素,或者可以由用户手动地对其定义(例如,电子文档中用户 选择的词条集合,用户选择的数字图像部分)。内容元素的例子包 括页面描述文档或其他电子文档的部分,例如若干条电子文本或 电子文档中的其他资料;媒体流的部分,例如数字视频片段、或数 字音频或视频的帧或帧组;动画的片段或帧;电子表单;表单模板; 表单元素;表单数据以及电子内容中可以由用户来呈现或访问的各 种内容等。内容元素可以包括空白内容,例如电子文档可以包括空 白页面;空白页面的内容,即指示其空白性的任何数据,在某些实 施方式中可以将其视为内容元素,即空白内容元素。内容元素可以 包括格式数据,例如描述其他内容元素放置的位置信息、或指示在 呈递其他内容元素时使用的颜色或字体的信息。出于本说明书的目的,可以采用术语"电子内容呈现应用"以 包括用于呈现电子内容的系统、应用和机制,呈现电子内容包括内 容元素的呈现,该内容元素例如是文本、图形、视频、音频、表单 元素呈递和其他电子内容元素。出于本说明书的目的,可以采用术 语"表单应用,,以包括电子内容呈现应用,其能够呈现电子表单的 呈递和/或经由用户输入来接收关联于表单元素的数据、和/或关联于 表单元素而存储或传输的数据。出于本说明书的目的,内容项目可以"关联于"电子内容。此 关联的例子包括在包含电子内容的文件或其他数据结构中的包含 物、对电子内容中内容元素的直接或间接引用的呈现、或通过其将 电子内容与内容元素关联起来的数据结构、文件或其他机制的呈现。 内容元素与电子内容的关联不一定要求当呈现电子内容时(或者另 行使得用户可访问或当输入到机器中时),内容元素在呈现或访问 期间也进行呈现或使得可访问。当考虑电子内容和关联的内容元素之间的关联时,可以使用术语"文字上包含"。在本说明书中,如果包含主要描述电子内容的 数据的数据结构包括主要描述内容元素的数据,则电子内容例如可 以在文字上包含内容项目。在一些实施方式中,内容元素可以通过 引用与电子内容相关联,其中描述内容元素的数据并不直接包含在 或集成在描述该元素所关联的电子内容的数据中。出于本说明书的目的,用作动词的术语"呈递"包括呈现或 使可访问的电子内容或内容元素能够被用户感知、查看或体验,或 者可被用于进一步的处理,例如通过计算处理来进行搜索、分类、 打印、分析、提炼或者变换,该计算处理可以不包括对描述电子内 容或内容元素的内在数据结构进行处理。在默认的情况下,与电子内容元素是否激活来确定。出于本说明书的目的,用作名词的术语"呈递"包括机器中的 人类可感知的数据表示、以及定义此表示的数据的感知专用组织。 例如,呈递可以包括由机器在输出设备上呈现的能量或人类可感知 事件的模式、以及专用于定义此模式的机器中的数据组织。例如, 此数据组织可以包括图形显示处理器所使用的存储器的电子配置、 或包含适用于经由计算机的音频系统来播放的音频片段的文件。这里所描述的特定应用或处理包括多个模块或机制。模块或机 制可以是能够向其他模块提供信息以及从其他模块接收信息的不同 功能性单元。因此,所描述的模块可以视为通信性地耦合。模块还 可以启动与输入或输出设备的通信,并且可以在源(例如,信息集 合)上操作。模块可以包括硬件电路、光学组件、单个或多处理器 电路、存储器电路、软件程序模块以及对象、固件及其组合,其适 于各种实施方式的特定实现。术语"模块"包括代码、数据或可计 算对象的可识别部分,从而实现特定的功能、操作、处理或过程。出于本说明书的目的,可以采用术语"尺寸可变能力指示"以 包括任何数据项目、对象、标记、比特、串、属性或其他信息处理 制品(artefact),用于表示所述指示涉及的数据对象的呈递可以进行尺寸调整,并且一经进行尺寸调整,则可以重新呈递,其中尺寸调整所基于的因素是上下文敏感的(sensitive)。此上下文敏感性可 以包括如下敏感性对将要显示在数据对象(例如,列表框)的呈 递中的列表元素的数量和呈递尺寸的敏感性、以及对结合数据对象 呈递(例如,对于元素呈递或电子内容而相邻)而呈现的呈递的几 何形状、配置以及构造的壽文感性。出于本说明书的目的,可以采用术语"表单模板"以包括指定 可以相互结合而呈现从而引出用户输入的用户界面情景支持的描述 集合的文件、数据结构或其他电子制品。在一些实施方式中,针对 特定表单元素呈递经由图形用户接口的数据录入,其可以用来将表 示此表单元素的信标(token)与经由图形用户界面输入的数据关联 起来,其中将该数据和信标相关联以用于进一步的处理、存储或传 输。出于本说明书的目的,可以采用术语"列表描述符"以包括文 件、数据结构或其他电子存储的表示,其在由表单应用或其他处理 进行处理的时候可以提供指令或描述性信息;或者包括引用;或包 含至少部分地适用于在输出设备和/或在图形用户接口中对滚动列 表、下拉列表或其他列表的呈递进行编辑和/或呈现的指令或描述性 信息。需要意识到的是,在一些实施方式中,当列表描述符在文字上 包含于表单模板(该表单模板进而在文字上包含于电子内容之中) 中时,列表描述符可以视为在文字上包含于电子内容中。出于本说明书的目的,术语"声明式"可以包括指定由特定 数据结构所描述的情景支持或呈递可以具有特定的特征,而不指定 如何在来自数据对象的结果数据的呈递或发展中带出(bring about) 该特征。出于本说明书的目的,将采用术语"线性尺寸"以包括在输出 设备上呈现的数据对象的呈递的一个或多个维度上的长度。出于本说明书的目的,将采用术语"列表元素"以包括其图形表示可以在列表呈递中呈现的数据元素,其中例如可以通过列表数 据对象和/或基于列表描述符来描述该列表。出于本说明书的目的, 术语"列表元素呈递"可以包括列表元素的呈递。出于本说明书的目的,将采用术语"表单元素"以包括电子表 单的组件,以及将采用术语"列表表单元素,,以包括将呈现为列表 图形的电子表单的组件,例如滚动列表或下拉列表。对于电子表单中的尺寸可变列表,存在多个技术问题。例如, 当由表单呈现应用响应于尺寸可变能力指示的呈现而自动地处理电 子表单中列表的尺寸调整/尺寸改变时,执行加速并且存储器访问效率可以高于经由通过电子内容作者所编写的脚本所处理的尺寸调整/ 尺寸改变时的效率。另一示例技术效果可以包括更有效的存储器利用。在一些实施方式中,下列能力可以提供更有效的存储器利用 即在需要的时候,响应于用户动作来将列表元素子集加载到列表表 示中,而不是在第一次呈递列表表示的时候加载较大列表元素集合。表示电子表单的示例图形用户接口图1是根据一个示例实施方式的、可以在图形用户界面中由表 单应用来呈现的电子表单呈递的图示。图1图示了示例图形用户界面(GUI)窗口 102,其可以在显示 器屏幕上或其他输出设备上呈现或呈递。用户界面窗口 102可以由 表单应用来呈现,例如用于显示电子文档的应用、可扩展标记语言 (XML )文档、超文本标记语言(HTML )文档、XML表单架构(XFA ) 文档、页面描述电子文档或其他形式的电子内容。在示例用户界面 窗口102中,图示了包括电子表单模板的电子文档,因为其可以由 表单应用来呈递。呈递可以包括电子文档页面104。可以提供滚动条 103以允许用户在呈递包括多个输出屏幕的电子内容时可以滚动遍 历该电子内容。呈递为页面104的电子文档可以包括若干组件,例如文本105 和表单模板的呈递。表单模板可以包括多个表单元素,例如描述下列描述符的表单元素可以呈递为文本录入框108的单行文本录入 域描述符、可以呈递为文本录入区域110及其关联标题106的文本 录入框描述符、以及可以在图形用户界面窗口 102中呈现为列表呈 递112的滚动列表描述符。当将用户界面窗口 102呈现给用户时,表单应用可以允许用户 输入或选择或另行操作电子表单的呈递。例如,通过经由输入设备 将数据输入到文本录入框108和/或文本录入区域110中,或者通过 选择(例如,通过点击)滚动列表呈递112中的一个或多个条目。图2图示了根据示例实施方式的、响应于经由图形用户界面的 电子表单的用户呈递操作的、图1中用户界面窗口 102的再呈递。参考图2,可以意识到(与图1的用户界面窗口 102相比),用 户已经将一定量的文本输入到文本录入区域110中,并且作为响应, 该文本录入区域110已经进行了重新呈递,从而在图2的示意图示 中沿竖直维度具有较大的线性尺寸。结果,电子文档的页面104已 经进行了重新呈递,从而文本行216图示为处于页面更下方,从而 保持位于相对于文本录入区域110的较低边缘相同的位置处。除了图示了由用户将文本输入到文本录入区域110中之外,用 户界面窗口 102还图示了 (例如,通过粗体文本属性)在列表呈递 112中已经选择的列表元素呈递214。然而,作为表单应用所接收的 各种用户输入动作的结果,还没有利用不同线性尺寸来重新呈递列 表呈递112。这种没有进行重新呈递可能是由于针对表单应用从中产 生列表呈递112的列表描述符来说,缺乏声明式指定的尺寸可变能 力。图3图示了根据一个示例实施方式的、可以由表单应用用来呈 递电子内容的图形用户界面窗口 302的另一个例子,其中电子内容 例如是包括或与表单模板相关联的电子文档。所图示的图形用户界面窗口 302可以由表单应用来呈现,并且 显示了示例电子文档的页面303的呈递。页面303包括表单模板的 呈递,该呈递包括两个复选框304和306的呈递、选4奪按钮308的呈递、列表呈递310以及文本区域呈递312。如在图形用户界面窗口 302中所呈递的,所图示的电子内容以及关联表单模板例如可以用于 输入有关库存(inventory)项目的信息。
如图3所示,由于"注释(note)"文本区域呈递312为空白, 并且复选框304或306均未邱皮选中,而且列表呈递310是空白这样 的事实,用户尚未(例如,经由GUI)操作电子表单呈递。出于示 意的目的,假设图3所示的呈递所基于的表单模板配置以使得当用 户已经选择了复选框304或306中的一个或另外一个并且点击了选 择按钮308时,对列表呈递310进行重新呈递,从而对应于所选的 库存目录来将元素列表在其中进行呈递。这例如可以通过(例如, 响应于在选择按钮308上的用户点击事件)访问与表单模板相关联 的文件或数据库、获取模型号的列表以及重新呈递该列表呈递310 来执行,从而将模型号的呈递作为列表元素而包括。
图4图示了根据一个示例实施方式的、可以在将列表呈递310 重新呈递为列表呈递410之后出现的、在图3中介绍的图形用户界 面窗口 302。
图4图示了在用户选中了复选框404并且点击了选择按钮408 之后呈递的图形用户界面窗口 402的状态。作为对这些用户动作的 响应,表单应用可以访问"望远镜,,模型号的列表,并且将图3的 列表呈递310重新呈递为列表呈递410,从而包括模型号列表元素呈 递。可以理解的是,列表呈递410的线性尺寸尚未发生变化并且仅 足以包含三个列表元素呈递,而不管将要显示的列表元素的实际数 量如何。在一些实施方式中,滚动条412可用于滚动遍历该列表, 以允许列表呈递410的重新呈递,从而允许用户查看和/或选择可呈 现的所有列表元素,而不必考虑列表呈递410的尺寸如何。当列表 呈递所基于的列表描述符未指定尺寸可变能力时,此恒定尺寸的列 表呈递可以由表单应用来呈现。
用于认证包括声明式指定尺寸可变能力的列表描述符的表单模才反的示例系统
图5图示了根据一个示例实施方式的、用于认证、存储和通信 表单模板的系统。
该系统500可以包括多个组件,在一些实施方式中, 一些组件 可以包括在运行于表单认证机器上的表单认证应用502中。系统500 的组件可以包括表单认证模块510和存储模块514。表单认证模块 510可用于(例如,在用户使用下)生成列表描述符,其声明式地包 含尺寸可变能力指示。该表单认证模块510可以包括呈递模块512, 其可以向用户呈现正被认证的表单模板的呈递的预览。在 一 些实施 方式中,呈递模块512可以连接到例如显示屏幕的输出设备506。表 单认证模块510也可以连接到例如鼠标或键盘的 一个或多个输入设 备508上,其中该输入设备可用于操作由表单认证模块510所呈现 的图形用户界面(GUI),以指定或设计表单模板和/或关联的列表 描述符。在一些实施方式中,可以经由呈递模块512而在输出设备 506上呈现此GUI。
系统500可以包括存储模块514 ,其可用于将已认证的列表描述 符和/或表单模板作为整体存储在机器可读介质中。可以意识到,在 一些实施方式中,表单认证模块可以是通用电子内容认证模块的组 件或由其使用的组件,以用于对电子内容进行认证,该电子内容例 如是标记语言文档、动画、电子文档、页面描述电子文档或可以包 括表单模板和/或列表描述符的任何其他形式的电子内容。存储模块 514可以操作性地连接到数据存储设备504,其可以采用计算机可读 介质的形式。数据存储设备504可用于存储表单模板、列表描述符、 列表元素、脚本以及使用表单认证冲莫块510或电子内容认证系统中 其他认证工具所认证的其他电子内容。例如,数据存储设备504可 用于存储由存储模块514传递到数据存储设备504之中的电子内容 516。如图5图示所示,电子内容516可以在文字上包括或另行关联 于(例如,通过引用) 一个或多个表单模板518,包括列表描述符或 其他表单元素。在一些实施方式中,表单模板和/或列表描述符或包含关联电子
内容的其他项可以传输到远程机器。该通信处理可以由通信模块520 经由网络(例如,表示为网络522的因特网或企业内部网)来实现, 该通信模块例如是web服务器或其他通信软件和/或硬件。
用于对包括声明式指定尺寸可变能力的列表描述符的表单模板 进行呈现的示例系统
图6图示了根据一个示例实施方式的、可以用来接收、处理、 呈递和/或接收将要与可以包括列表描述符的表单模板相关联的用户 输入的系统600。
系统600可以包括表单处理模块610、呈递模块612、数据访问 模块614以及用户界面模块615。在一些实施方式中,这些模块可以 是能够在实现系统600的机器上运行的表单呈现应用的一部分或与 其相关联的一部分。
系统600还可以包括数据存储设备604。该数据存储设备604例 如可以存储电子内容616,在一些实施方式中,该电子内容可以包括 在电子内容中或另行关联于电子内容。电子内容616可以包括表单 模板618。在一些实施方式中,数据存储设备604可以与任何电子内 容分开单独地存储表单模板和/或列表描述符。系统600还可以包括
通信模块620,例如web服务器或web客户端或其他通信组件,在 一些实施方式中所述通信模块620可以连接到网络622并且可操作 用于从远程机器接收表单模板、列表描述符以及其他电子内容。
数据访问模块614可用于访问来自数据存储设备604的表单模 板(例如,表单模板618),该表单模板包括声明式指定尺寸可变能 力指示的列表描述符。除其他功能之外,表单处理模块610还可用 于基于该列表描述符来选择用于列表呈递的第一线性尺寸。该呈递 模块612可以操作性地连接到输出设备606,并且例如可用于呈现对 应于列表描述符的列表呈递。
系统600还可以包括一个或多个输入设备608,其可由用户界面模块615用来与表单处理模块610进行通信。在一些实施方式中, 响应于与列表描述符相对应的呈递的呈现,用户可以使用 一个或多 个输入设备608来在图形用户界面(GUI)中选择列表呈递中的列表 元素,或者另行提供与表单模板中的表单元素相关联的数据的输入 或其他操作。
用于电子表单的示例数据结构和数据格式 图7是根据一个示例实施方式的、包括两个表单模板的电子文 档的图示表示。
在图7中,图示了电子文档或在文字上包含于或另行关联于该 电子文档的其他电子内容和表单模板。所示出的电子文档702包括 两个表单模板,表单模板1 704和表单模板2 720。表单模板可以描 述或表示将要在电子文档702的呈递中进行呈递的电子表单元素,
本,例如通过利用列表元素来填充列表描述数据结构。表单模板可 以提供信息,该信息将被用于存储或识别与表单元素(例如信标) 相关联的值,例如通过用户录入的数据。表单模板可用于将表单元 素一起归组为电子表单,以包含在电子内容之中或关联于电子内容, 这可以为电子表单提供上下文,从而有利于用户理解或用于其他目 的。
当正在设计或认证表单模板的时候,可以将各种表单元素归组 到一起或者通过表单设计者指定它们在表单模板的呈递内的布局或 相对位置。可以意识到的是,人类用户以及自动处理都可以设计或 指定表单模板所表示的电子表单。
例如,可以在竖直组中将两个表单元素归组在一起,其中这两 个表单元素在基于表单模板的图形显示中的呈递将彼此相邻竖直定 位。在一些实施方式中,例如使用XFA表单模板定义格式的实施方 式,可以通过一个或多个注释水平组XML标签来定义水平组,其中 该XML标签围绕或另行标识描述其呈递将要进行如此归组的列表对象的进一步XML内容。水平和竖直组可以嵌套起来以产生复杂的 电子表单布局。
作为具体的例子,表单模板1 704可以描述包括单行文本框 714的表单,其中该单行文本框714可以类似于图1中的文本录入框 108进行呈递;以及包括滚动列表表单元素710和文本框元素712 的水平组708,其中该滚动列表表单元素710例如可以类似于图1 中的滚动列表呈递112进行呈递,该文本框元素712可以类似于图1 的文本录入区域IIO进行呈递。通过指定滚动列表表单元素710和 文本框元素712包括水平组,表单设计者可以指定滚动列表表单元 素710和文本框元素712的呈递,以便彼此相邻地水平设置用于用 户界面显示。在一些实施方式中,元素中的一个(例如,文本框元 素712)的重新呈递例如可以被表单处理模块610用作指示,以请求 对具有类似尺寸的另一表单元素进行重新呈递,如下面参考图24更 详细描述的。
图7还包括第二示例表单模板720,包括竖直组722。出于示例 目的,竖直组722示出为包括水平组730,以及滚动列表表单元素 726和文本框元素728。水平组730可以包括两个复选框表单元素732 和734以及按钮表单元素736。这些各种元素可以通过表示表单模板 的文件中的描述符(例如,XML数据的一部分)来表示。当产生该 水平组的呈递时,所得的显示可以与在图3中表示的包括复选框304 和306以及选择按4丑308的用户界面的部分相似。
图8和图9图示了根据一个示例实施方式的两个表单模板表示, 其中提供附加数据以填充列表呈递,该列表呈递具有将要在滚动列 表的呈递中进行呈递的列表元素。
在图8中,表单模板802在图上表示为包括多个表单元素,所 述多个表单元素包括水平组808中的文本框元素812以及描述滚动 列表表单元素810的列表描述符。此外,表单模板802可以包括描 述将要在滚动列表表单元素810的列表呈递中进行呈递的列表元素 816的数据。虚线818指示诸如XFA XML文档之类的表单模板数据包括将列表元素816与列表描述符关联起来的数据。
图9图示了与图8的表单模板802相似的示例表单模板902。在 表单模板902中,可以呈现列表元素加载脚本914。列表元素加载脚 本914例如可以通过表单处理模块610来执行,以加载将要包含在 与滚动列表描述符910相对应的列表呈递中的元素。在一些实施方 式中,这些列表元素可以从下列中获取数据库、或者表单模板902 外部的某些其他来源、或者表示或包含该表单模板902的文件。在 一些实施方式中,滾动列表元素加载肚卩本914可以响应于某些用户 动作来执行。该事件可以包括诸如用户点击按钮元素呈递之类的用 户动作,或响应于加载表单模板XML文档或由表单处理模块610对 表单模板XML文档进行的处理。
图10图示了根据一个示例实施方式的、可以在表示表单模板的 XML文档中表示的示例性数据列表描述符。
图10图示了包含列表描述符的XML表示的表单模板的一部分, 例如可以用于XFA文档中。此列表描述符例如可以描述滚动或下拉 列表,其可以被呈递从而作为图4的示例列表呈递410来出现。
可以在列表描述符1002中呈现多个特征。例如,描述符类型 (description type )标签1004可以指定描述符用于列表框,例如用 于滚动列表框而不是一些其他类型的表单元素。"尺寸(size),,标 签中的虚线框1006围绕尺寸可变能力指示的例子。例如,当"最大 高度(max—height)"属性的值为空(如空白引号所指示)而不是提 供数字值时,表单处理模块(例如,表单处理模块610)可以将该空 值认为是所呈递的列表尺寸可以改变的指示,例如以上下文敏感的 方式。在一些实施方式中,尺寸可变能力指示可以通过一个或多个 尺寸相关属性的缺席来指示,例如"<size/>"或"<sizemin—height"= "3 inches,7>,,,而在一些其他实施方式中,最大和最小尺寸属性可 以针对特定维度来呈现,其中该特定维度指示该维度可以在属性值 所指示的范围内进行尺寸调整。在一些实施方式中,对于特定维度 缺少固定尺寸指示,这可以认为是对于该维度具有尺寸可变能力的指示。例如,列表呈递可以扩张,从而其具有线性尺寸,例如选择
的,而无需用户例如使用滚动条来滚动遍历该列表。此外,项目(item ) 的列表1008可以包含在列表描述符中。与列表描述符1002对应的
和/或宽度。在一些实施方式中,可以指定无单位的、与"尺寸"标 签相关联的值,例如图IO所示。在一些实施方式中,未指定单位的 值可以视为以屏幕像素指示的尺寸。在另一实施方式中,"尺寸" 标签可以包括单位指示,例如英寸或厘米。
图11图示了根据一个示例实施方式的列表描述符,其中通过脚 本来添加将要在列表呈递中进行呈递的附加列表项目。
图11图示了列表描述符1102,例如其可以使用XML来制定格 式或表示。可以意识到的是,列表描述符1102与图10的列表描述 符1002相似。列表描述符1102可以包括引用脚本1106的事件标记 1104,所述脚本可以由JavaScript或其他形式的可执行指令来编写。 此类指令的执行可以使得基于列表描述符1102来对描述列表呈递的 数据结构的内容进行修改。
事件标记1104可以包括事件标签,该事件标签可进一步包括诸 如触发事件的活动的属性。例如,在图11中,将要呈递的列表呈递 描述数据结构的准备就绪。将属于事件的数据(例如,"$form"作 为整体指示表单模板)引用至属于列表描述符1102的数据。
在一些实施方式中,诸如脚本1106之类的脚本例如可以通过
"event (事件)"标签的引用而被包含或另行关联。在一些实施方 式中,可以通过脚本标签来标识脚本,并且可以包括"contentType
(内容类型)"属性,用于描述在其中表达脚本指令的编程语言或 应用。在列表描述符包括尺寸可变能力指示的一些实施方式中,列 表修改指令,例如脚本1106的"addltems (添加项目)"指令的执 行可以在一些实施方式中操作,以允许表单处理才莫块610来修改描 述列表呈递的数据结构,从而对列表呈递进行尺寸改变。因此,"addltems"指令可用于改变列表呈递的上下文,例如项目所提供以 包含在列表呈递中的上下文。因此,表单处理模块610可以使得呈 递模块612对列表呈递进行重新呈递,从而以新的线性尺寸来进行 呈递。
在一些实施方式中,"runAt"属性可以呈现在脚本1106中,以 表示将要在何处执行脚本。在一些实施方式中,如果呈现了值"server (服务器)",则当电子内容(例如,1102)在由呈现应用602下 载之前存储于服务器上时,可以执行脚本,而"client (客户端),, 值的呈现指示的是当由呈现应用602呈现电子内容时,可以执行脚 本,其中与"runAt"相关联的"both ( 二者)"的值指示在两种上 下文中^丸行。
图12图示了根据一个示例实施方式的列表描述符的示例,其中 响应于与图形用户界面按钮表单元素的交互,通过脚本来修改一组 列表元素。
图12图示了在XML文本中表示的表单模板的部分1202,其例 如包括用于按钮表单元素的描述符和列表描述符。该列表描述符与 图10和11中描述的相似。由描述符标签所指示以及矩形1204所衬 托(setoff)的列表描述符包括"name=LB—1"属性,其在某些实施 方式中可以为列表描述符数据提供符号名(symbolic name )。
在矩形1206所指示的用于按钮元素的描述符中,可以提供示例 事件指令集合,如矩形1208所示。该事件指令集合包括可以响应于 用户点击与按钮描述符相对应的图形用户界面按钮呈递而执行的脚 本。该脚本图示了指令的例子,该指令用于将项目添加到与列表描 述符相关联的数据结构,这通过将"addltem"指令应用到与列表描 述符相关联的"LB—1"名称来指示。该关系由箭头1210来指示。
出于示例的目的,尽管在图11和12中图示的示例脚本指令集 合相对简单,但可以意识到,更复杂的脚本或指令集合能够执行更 复杂的编程,这由在表单显示和/或处理应用中可用的程序执行工具 和语言来支持。图13和图14图示了根据一个示例实施方式的以XML表示的列 表描述符的示例,其中列表元素经由从第二数据存储设备中获取而 关联或绑定于该列表描述符。
出于示例的目的,图13图示了包括可以以XML实现的列表描 述符的表单模板1302。可以意识到,表单模板1302的XML表示包 括类型为"list—box (列表框)"以及空白"items (项目)"列表1304 的列表描述符。列表描述符可以包括"bindltems (绑定项目)"标 签(由矩形1306来指示),其经由通配符类型(wildcard-type)
"reference (引用),,属性以及指示标识每个列表元素标志和信标的 标签的属性来指示外部数据文件的一部分。表单模板1302还可以包 括"templateDesigner (模板设计者),,标签,其由矩形1308指示并
其他数据。可以理解,可以自动地、或响应于现存表单会话中的用 户动作来从第二数据存储设备中获取列表元素,例如针对图12所描 述的。
图14图示了示例数据文件1402,其可结合指定"bindltems"引 用(例如,矩形1306所指示)的列表描述符来使用。示出的数据文 件1402可以配置为提供与四个列表元素相关的数据,其中第一个列 表元素由矩形1406表示。在一些实施方式中,第一列表元素数据可 以包括两个数据标志"T-300-RM",其可以呈递为列表呈递中的 列表元素;以及符号信标"t3",如果用户在图形用户界面上选择了 作为列表呈递中的元素呈递的标志,则该信标"t3"可以提供对用户 列表选择的简短指示。在一些实施方式中,除了图14所示的标志/ 信标组织之外,可以以其他方式来组织列表元素数据。
在一些实施方式中,可以通过从"ref=$data.forl.listl[*],,串映 射到数据文件1402对应部分的表单处理模块,来实现将标志
"T-300-RM"包含在对应于图13的列表描述符的列表呈递中的这种 关联。
在前面的图10至图14中,由于XML可以在XFA才各式中^f吏用,因此使用XML来图示了各种表单模板、列表描述符以及其他数据。
可以意识到,在一些实施方式中,可以使用用于表单模板、列表描
述符和其他数据项目的多种不同表示;例如,可以使用HTML形式、 MXML、动作脚本或其他表单描述一各式和表示。
图15是根据一个示例实施方式的、包含数据结构1500的示例 性表单,该数据结构可以由电子内容呈现应用602或表单应用来维护。
数据结构1500以示例方式图示了如何将包括表单模板所描述的 电子表单的电子文档在机器中表示,以便可以由电子内容呈现应用 602来对其进行访问和修改。在图1中示出的表单模板可以是来自数 据结构1500的呈递。数据结构1500可以以节点和链接 (node-and-link )表示来构建,其中可以呈递电子内容的各种内容元 素和组件,例如电子文档。在一些实施方式中,可以通过数据访问 模块614来从数据存储设备604中获取包括一个或多个表单模板618 的电子内容616。除表单模板之外的电子内容的部分可以通过电子内 容处理和显示应用来处理,从而通过文档才艮节点1501、文本节点 1502、表单模板节点1506以及第二文本节点1504来呈现该电子内 容。
在电子内容的处理中,在一些实施方式中,可以激活表单处理 模块610以处理关联于或包含于电子内容中的表单模板。然后,表 单处理模块可以通过将附接的数据节点1508、 1510、 1512、 1514和 1516直接或间接地添加到表单模板节点1506,而对数据结构1500 进行扩展。每个节点1508-1516可以存储有关于其描述的表单元素的 信息。该信息可以包括类型(例如,TextBox(文本框)、ScrollingList (滚动列表)、TextField (文本域))、例如高度和/或宽度之类的 线性尺寸、表单元素的内容,例如滚动列表描述节点中的列表元素 标志(和相应的信标)以及与指定相应图形用户界面情景支持将要 呈递到的当前尺寸的高度和/或宽度相关联的尺寸可变能力指示。 在一些实施方式中,在将例如具有根节点1601的电子文档的电子内容呈递在显示设备上的过程中,呈递模块612可以通过下列处
理来执行呈递操作,该处理包括对于存储电子内容的数据结构的深 度优先型遍历。此遍历可以包括对表单描述内容元素以及非表单内 容元素进行处理。
图16图示了根据一个示例实施方式的、 一部分电子文档的显示 列表1602。
在一些实施方式中,例如显示列表1602的显示列表可以通过呈 递模块612来生成,这可以作为显示电子内容(例如,电子文档) 中的中间步骤。显示列表1602可以包括描述图形制品和/或将要呈递 在输出设备(例如,输出设备606)上的用户界面情景支持的几何和 文本数据。
具体举例而言,经过尺寸调整从而包含两个列表元素呈递和用 户可操作滚动条的滚动列表呈递可以通过矩形图形描述1604、滚动 条图形描述1606、文本标题描述1608以及两个列表元素呈递描述 1610来表示。在一些实施方式中,呈递;f莫块612可以遍历数据结构 的表单模板描述部分,例如从表单模板节点1506起开始延伸的数据 结构1500的子树,从而产生显示列表。在一些其他实施方式中,例 如通过呈递模块的调用,表单处理模块610可以产生各种呈递描述 块,例如描述1604-1610。
图17图示了根据一个示例实施方式的、用于响应于相邻于列表
的线性尺寸的处理。
出于示例的目的,假设包括由图15的数据结构1500所描述的
户呈现。出于示例的目的,假设滚动列表数据节点1514和文本域节 点1516 (由于在概念上由水平组节点1510包含)将要在输出设备 606上相互邻近地呈递。进一步,i设文本域节点1516所表示的文本 域没有与其相关联的文本,并且因此在文本域的呈递中没有显示文 本,并且相应地,文本域节点1516可以与图1的文本录入区域110相似地呈递。因此,在图17中复制为文本域节点1716的文本域节 点1516可以具有与其相关联的高度数据域,以指示文本域呈递的高 度当前为60像素或其他单位(例如,厘米),并且高度可以基于将 要显示在文本域呈递中的内容而进行尺寸改变。该高度数据域由椭 圆1730来指示。
接下来,假设用户开始经由图形用户界面(GUI)来向对应于文 本域节点1716的文本域呈递中输入文本。在此处理期间,表单处理 模块610或其他模块可以更新文本域节点,从而对其进行变换使之 成为文本域节点1717。该更新处理由转换箭头1718来指示。当用户 经由GUI将文本输入到文本域呈递中时,文本域节点的内容数据域 可以更新(如矩形1731所指示),以包含用户输入的文本。在一些 实施方式中,椭圆1730所指示的高度数据域也可以更新,以指示对
便容纳附加文本。作为响应,表单处理模块610可以执行箭头1720 所表示的处理,以更新滚动列表节点,其中该滚动列表节点的列表 呈递相邻于文本域节点1717的列表呈递。该相邻性例如可以是由于 作为水平组节点1510所指示的水平组成员。因此,经尺寸改变的滚 动列表节点1722可以将其高度数据域(椭圆1732所指示)更新, 从而匹配文本域节点1717的表单元素呈递的新高度。响应于该尺寸 的改变,例如可以由表单处理;漠块610或呈递冲莫块612来准备显示 列表(例如,1602所示的类型),从而基于滚动列表节点1722的列 表呈递可以重新呈递在输出设备606上。在响应于其他表单元素的 一个或多个呈递(例如,文本域节点1717的呈递)的尺寸调整来对 列表呈递进行尺寸改变的实施方式中,在那些环境中对滚动列表节 点(例如,1514)进行尺寸改变的指示可以呈现在表单模板中。
用于认证列表描述符的示例处理
图18图示了根据一个示例实施方式的、用于对包括声明式指定 的尺寸可变能力指示的列表描述符进行认证的处理1800的流程图。在块1802处,可以生成列表描述符,其声明式地包括尺寸可变 能力指示。该列表描述符可以在表单模板的上下文中和/或在电子内 容(例如,电子文档、动画或其他内容类型)中生成。在一些实施 方式中,可以由表单认证模块510通过接收输入以编辑或模制将要 从列表描述符中生成的列表呈递来执行该生成。此输入可以从输入 设备508接收。在一些实施方式中,表单模板的生成可以通过使用 预览模式来进行,通过该预览模式可以出现预览呈递,其中该预览 呈递示出了如何出现与由用户进行的生成或模制的中间状态中的列 表描述符相对应的列表呈递。预览呈递可以由呈递模块512呈现在 输出设备506上。可以意识到,预览呈递可以但不必包括列表元素 的呈递,所述列表元素的呈递可以在由呈现应用602呈现表单模板 时进行呈现。
在块1804处,所生成的列表描述符可以存储在计算机可读介质 上。在一些实施方式中,该存储可以通过存储模块514来执行,并 且列表描述符可以结合、文字上包含于、或另行关联于表单模板或 其他电子内容来进行存储。
在一些实施方式中,表单模板的生成可以包括可执行指令与列 表描述符的关联,以从数据存储设备中获取一个或多个列表元素。 此可执行指令可以通过结合表单认证模块510来工作的用户进行选 择。在一些实施方式中,可以通过用户手工输入、或可以通过表单 认证模块510来自动生成此可执行指令。在一些实施方式中,表单 认证模块可以将列表描述符与电子内容关联起来,例如通过在文字 上将列表描述符或包括或关联于该列表描述符的表单模板包含于电 子内容之中。
图19是根据一个示例实施方式的、图示了用于生成和存储包括 表单模板的电子内容的处理1900的流程图。
在块1902处,例如通过使用具有表单认证模块510的表单认证 应用502,用户可以生成包括表单才莫板的电子内容。块1902的处理 可以进一步包括块1904和1906所指示的处理。在块1904处,用户可以使用表单认证模块510来生成列表描述符,所述列表描述符声
明式地包括尺寸可变能力指示,例如作为包含于或将要包含于电子
内容中的表单模板的一部分。在块1906处,表单认证模块例如可以 响应于接收来自用户的指令或实际脚本源代码而将填充脚本或列表 元素数据与列表描述符关联起来。该填充脚本可用于从数据库或其
他资源中获取将要填充到列表描述符所描述的列表呈递和滚动列表 数据节点1514中的数据,例如数据文件中的标志和/或信标,如图 14所示。
最后,在块1908处,当电子内容生成的进展充分时,包括表单 模板的电子内容可以存储在机器可读介质中,例如通过存储模块514 存储到数据存储设备504中。
图20是根据一个示例实施方式的、图示了用于创建包括列表描 述符的表单模板的处理2000的流程图。
在块2002处,例如通过使用表单认证模块510,用户可以创建 表单模板并且可以输入或录入列表规范,例如可以从列表规范中生 成的可生成列表呈递的文本或图形描述。在判定框2004处,确定如 何填充列表呈递。该确定可以基于从用户接收的填充选项、指示和/ 或选择,其中的三个例子在图20中呈现。可以意识到,除了在本说 明书中描述的那些填充选项之外,各种其他的填充选项也是可行的。 如果列表元素数据将要作为与列表描述符相关联的表单模板的 一部 分进行存储,在模板创建工作流中,经由用户输入而接收列表元素 数据,从而在块2006处处理可以继续。可替换地,用户可能希望从 经由脚本指令(例如,经由数据库查询或一些其他可执行指令集合) 所获取的列表元素数据来填充列表呈递。因此,在块2008处处理可 以继续,其中,例如表单认证模块510可以从用户接收脚本指令, 例如通过导入文件或在表单认证模块510所提供的编辑功能中创建 和/或编辑脚本指令。最后,用户可能希望从文件中获取表单数据(例 如,表单列表元素、标志和/或信标),其中所述文件独立于与电子 内容相关联和/或任何所含表单模板的文件。在此情况中,可以从用户接收列表元素数据文件的文件名,并且可以相应地更新列表规范数据。
在这些例子中的任意一个中,在块2012处,列表呈递填充选项、 列表规范和用户提供的数据、脚本和/或文件可以由表单认证模块 510用来生成列表描述符,例如描述将要呈递的滚动列表或下拉列表 的表单模板XML文件的一部分。最后,在块2014处,可以将包括 或另行关联于列表描述符的表单模板保存到机器可读介质,在一些 实施方式中由存储模块514来保存。
基于列表描述符来访问和呈现呈递的示例处理
图21是根据一个示例实施方式的、访问列表描述符以及基于列 表描述符来呈现列表呈递的处理2100的流程图。
在块2102处,例如可以通过数据访问才莫块614来访问声明式地 指定尺寸可变能力指示的列表描述符。在一些实施方式中,列表描 述符可以通过在文字上包含声明式地指定的尺寸可变能力指示来指 定尺寸可变能力指示,而在一些实施方式中,列表描述符可以声明 式地间接指定尺寸可变能力指示,例如通过引用指示或包括引用该 指示的数据结构。在块2104处,可以响应于尺寸可变能力指示来选 择用于列表呈递的线性尺寸,例如基于列表描述符的用于列表呈递 的高度和/或宽度。该线性尺寸可以是上下文敏感的,因为其不但可 以基于列表描述符,而且可以基于上下文信息,例如基于列表描述 符而将要呈递在列表呈递中的列表元素呈递的计数和维度,包含列 表描述符的表单模板中的其他表单元素的配置和测量以及例如由表 单处理模块610进行的其他上下文信息和/或分析。在一些实施方式 中,所选线性尺寸可以包括描述为在图形用户界面中包含列表元素 呈递的矩形的宽度和/或高度。在一些实施方式中,该选择操作可以 由表单处理模块610来执行。在块2106处,可以至少基于列表描述 符和所选线性尺寸来生成列表呈递。在一些实施方式中,该生成可 以由呈递模块612来执行。在一些实施方式中,列表呈递可以基于例如图15中所示表单的数据结构,或通过使用如图16所显示的摘 要数据。
最后,在一些实施方式中,在块2108处,可以通过呈递模块612 来呈现该列表呈递。
在一些实施方式中,第一线性尺寸的选择可以基于将要在列表 呈递中进行呈递的一个或多个列表元素,例如通过考虑将要呈递的 列表元素(例如,项目标志)所采用的字体尺寸或其他特性。在一 些实施方式中,列表呈递的生成可以包括生成与列表描述符或相关 数据结构相关联的任何列表元素的列表元素呈递。该列表呈递可以 基于一个或多个列表元素,例如通过将列表元素的呈递包含在列表 呈递中。在一些其他实施方式中,列表元素可以图形化表示为图标、 图像或其他图形图像。
在一些实施方式中,用于列表呈递的线性尺寸的选择可以基于 或响应于事件,例如图形用户界面动作,例如用户点击按钮或操作 包括列表呈递的表单模板的呈递中的情景支持。选择线性尺寸可以 对其进行响应的事件可以是先前生成的具有不同(例如较小)线性 尺寸的列表呈递。
图22是根据一个示例实施方式的、图示了用于访问列表描述符 和用于基于列表描述符来呈现列表呈递的又一 处理2200的流程图。
在一些实施方式中,在块2202处可以通过数据访问;模块614来 访问列表描述符(其可以包含在表单模板中),其中该列表描述符 声明式地指定尺寸可变能力指示。在一些实施方式中,在块2204处, 可以由表单处理模块610响应于尺寸可变能力指示来选择第一列表 呈递的第一线性尺寸,其中该第一列表呈递基于列表描述符。例如, 该第一线性尺寸可以是用于在列表呈递在其中没有任何列表元素呈 递或列表元素标志的情况下进行呈递的默认尺寸,如示例列表呈递 310所示。在框2206处,可以基于列表描述符来以第一线性尺寸生 成第一列表呈递。在一些实施方式中,第一列表呈递可以通过呈递 模块612来创建。在一些实施方式中,该第一呈递可以实际呈现给用户,例如呈现在输出设备606上,而在一些其他实施方式中,可 以在完成对表单模板的完整处理之前创建该第一呈递,并且因此不 必立即呈现,或者可以在呈现第二列表呈递之前不进行呈现。
在块2208处,可以针对第二列表呈递选择上下文敏感的第二列 表尺寸,其中该第二列表呈递基于列表描述符以及一个或多个列表 元素。第二线性尺寸的选择也可以通过表单处理模块610来执行, 并且例如可以响应于执行脚本以访问将要呈递在第二列表呈递中的 列表元素而发生。可替换地,在图形用户界面呈递为表单模板的一 部分时,可以响应于其中的用户动作而进行选4奪,例如用户点击按 钮或对复选框进行复选,其触发经由脚本例如从数据库或其他外部 源来加载列表元素。这两个响应均可以视为可应用于选4奪第二线性 尺寸的上下文壽丈感性的例子。例如在一些实施方式中,在块2210处, 可以通过呈递模块612来生成基于列表描述符和第二线性尺寸的第 二列表呈递。最后,在块2212处可以通过呈递模块612或其他组件 将第二列表呈递呈现给用户。
在一些实施方式中,可以通过数据访问模块614来获取列表元 素,该获取例如响应于执行与表单模板和/或列表描述符相关联的脚 本。
图23是图示了根据一个示例实施方式的、用于访问表单模板并 生成和呈现列表呈递的又一处理2300的流程图。
在块2302处,例如可以通过数据访问模块614来访问包括列表 描述符的表单模板,其中列表描述符声明式地指定尺寸可变能力指 示。在块2304处,例如可以通过表单处理模块610就信息来检查列 表描述符,该信息例如是列表描述符表示中的XML标签或其他数据 设置或标记,用于指示如何利用将要在列表呈递中呈递为列表元素 呈递的列表元素来填充相应的列表数据对象(例如,滾动列表数据 节点1514K在一些实施方式中,在判定块2306处可以通过列表处 理模块确定如何利用列表元素来填充列表数据对象。如果列表元素 关联于列表描述符,例如如图IO中所示那样通过"item (项目)"标签在文字上包含于列表描述符表示中,则在块2308处,表单处理 模块610可以访问与列表描述符相关联的列表元素数据。如果将要 通过从文件加载列表元素来填充列表数据对象,则在块2310处处理 继续,其中在一些实施方式中,表单处理模块610结合数据访问模 块614来加载来自文件或其他(例如外部)源的列表元素数据,并 基于列表描述符将这些列表元素数据项目(例如,标志和信标)绑 定至列表数据对象。如果将要经由脚本利用列表元素来填充该列表 数据对象,则在块2310处,例如可以通过表单处理模块610或通过 帮助应用(例如,编程语言处理和/或解译器)来执行该脚本,以通 过在网络上从远程服务器下载或通过某些其他机制来访问例如来自 数据库的列表元素数据。
一旦已经利用列表元素填充了列表数据对象,例如通过将列表 元素数据插入到对应于列表描述符的数据结构节点中,则处理可以 在块2314处继续进行。在块2314处,例如可以通过表单处理模块 610来选择用于列表呈递的一个或多个线性尺寸(例如,基于尺寸可 变能力指示的呈现)。该线性尺寸可以基于列表描述符和其他上下 文信息,例如将要呈递在该列表呈递中的列表元素。该列表元素可 以通过列表数据对象来表示(例如,图4的1514)。最后,在块2316 处,可以生成和呈现包括列表元素呈递(例如,文本标志、图标或 其他列表元素呈递)的列表呈递。在一些实施方式中,在块2316处, 可以通过呈递模块612来执行列表呈递的生成和呈现。
图24是根据一个示例实施方式的、图示了包括下列过程的处理 2400的流程图基于列表描述符来生成第一列表呈递,基于与第一 列表呈递相比具有不同线性尺寸的另一表单元素呈递来生成第二列 表呈递,以及呈现第二列表呈递。
在块2402处,可以访问列表描述符,其中列表描述符声明式地 指定了尺寸可变能力指示。该列表描述符可以包含在表单模板中。 在一些实施方式中,可以通过数据访问模块614来访问列表描述符。 在块2404处,可以响应于尺寸可变能力指示,例如通过表单处理才莫块610并基于列表描述符来选择用于第一列表呈递的第一上下文敏 感的线性尺寸。在块2406处,例如可以通过呈递模块612并基于第 一线性尺寸和列表描述符来生成第一列表呈递。在一些实施方式和/ 或环境中,可以通过呈递模块612或其他模块将第一列表呈递呈现 给用户。
在块2408处,可以选择针对第二列表呈递的上下文敏感的第二 线性尺寸。第二列表呈递可以替代第一列表呈递而呈现在输出设备 606上。第二线性尺寸可以通过表单处理模块610来选择。第二线性 尺寸可以选择为适合于第二列表呈递,其中第二列表呈递基于列表 描述符以及例如另一相邻表单元素的呈递的线性尺寸。第二线性尺
现,并且还可以包括列表呈递将要基于另一表单元素来进行尺寸改 变的指示、和/或对影响尺寸改变的表单元素的识别。表单中的其他 元素可以结合第一列表呈递而显示,例如显示在与第二列表呈递相 同的竖直或水平组中。例如,如果列表呈递和一些其他表单元素的 呈递将要相互结合地显示,例如进行并排显示,则可以响应于其他 表单元素呈递的尺寸改变来创建第二列表呈递。
在一些实施方式中,在块2410处,可以通过呈递模块612并基 于列表描述符和第二线性尺寸来生成第二列表呈递。最后,在一些 实施方式中,在块2410处,可以通过呈递模块612来呈现第二列表 呈递。第二列表呈递可以在输出设备606上替代第一列表呈递。
基于声明式地指定了尺寸可变能力指示的列表描述符的列表呈 递的示例用户界面
图25图示了根据一个示例实施方式的、包括基于声明式地指定 尺寸可变能力指示的列表描述符的列表呈递的示例用户界面2502。
图形用户界面2502 (其在一些实施方式中可以由表单模板来呈 现)图示了如何呈现包括具有各种表单元素的表单模板的电子文档。 例^"衮动列表和.2504以及文本域呈递2506。通过与图2中的用户界面窗口 102进行 比较,可以意识到,列表呈递2504已经被重新呈递,从而其高度线 性尺寸匹配于文本域呈递2506的尺寸。在一些实施方式中,该重新
域表单元素相关联的大量文本。在一些实施方式中,该重新呈递可 以通过可以与列表描述符或表单模板相关联的指示、和/或通过表单 才莫板中的表单元素(例如,呈递为呈递2506的文本域元素)的识别 来进行,其中表单模板的呈递尺寸将影响列表呈递2504的尺寸。当 文本域呈递2506响应于用户输入文本而(在一些实施方式中,连续 地)重新呈递时,列表呈递2504可以依照文本域呈递2506的尺寸 增加而以增加的尺寸进行重新呈递。可以意识到,由于在列表描述 符(列表呈递2504从其中导出或所基于的)中进行了声明式指定尺 寸可变能力,所以该尺寸选择和重新呈递处理可以通过关联于表单 呈现和/或编辑应用或处于其中的表单处理模块610和呈递模块612 来执行。在一些实施方式中,当例如相邻表单元素呈递尺寸降低时, 可以执行将列表呈递重新呈递为较大尺寸,从而允许在包含列表呈 递和其他表单元素呈递的共享显示空间中以较大尺寸来重新呈递列 表呈递。
图26图示了根据一个示例实施方式的另一图形用户界面2602, 其包括基于具有声明式地指定的尺寸可变能力指示的列表描述符的 列表呈递。
可以理解,图26对应于用户已经选4奪类别(category)"望远4竟 (Telescope),,并按下"选择(Select)"按钮之后的图4,由此使 得例如从数据库中访问望远镜型号列表,并且呈递为列表呈递(在 图4的情况下,为列表呈递410)中的标志。与图4的列表呈递410 相比,在图26中,列表呈递基于声明式地指定尺寸可变能力指示的 列表描述符。因此,当将"望远镜"复选框进行复选并且用户点击 "选择"按钮时,列表呈递2604可以被重新呈递为足够大以包含完 整的型号列表,与之相比,由于列表呈递410基于未声明式地指定尺寸可变能力指示的列表描述符而使得该列表呈递410不以较大尺 寸进行重新呈递。可以意识到,其余表单,例如"注释(Notes)" 文本域呈递已经在电子文档的呈递2303中的较低位置进行了重新呈递。
尽管这里所描述和图示的列表描述符、数据结构以及用户界面 图示的例子的形式为滚动列表和/或处理,但数据结构、系统可以应 用于下拉列表以及其他列表类型。可以意识到,各种表单的电子内 容可以包括上述的表单模板和/或列表描述符,并且列表描述符不需 要包含在将要包含于电子内容中的表单模板内。在一些实施方式中, 列表描述符可以独立于任何其他电子内容进行存储,并且列表呈递 可以独立于其他电子内容或表单元素来产生。
用于实现示例处理的示例硬件和计算机系统 图27示出了示例形式的计算机系统2700中的机器的图形表示, 其中在该计算机系统2700中,可以执行用于使机器执行这里所述的 方案、方法、处理或过程中的任意一个或多个的一组指令。在可选 实施方式中,机器可以作为独立设备来操作或者可以连接(例如, 网络连接)至其他机器。在网络化的部署中,该机器可以在服务器-客户端网络环境的服务器或客户端机器的能力范围中操作,或者可 以作为点对点(分布式)网络环境中的对等机器来操作。该机器可 以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理
(PDA)、蜂窝电话、web设备、网络路由器、交换机和桥接设备 或能够执行指定由该机器所要采取的动作的指令组(顺序或其他) 的任何机器。此外,尽管仅图示了一个机器,但术语"机器"应当 包括单独地或结合地执行一组(或多组)指令以执行这里所述的一 个或多个方案的任意机器集合。
示例计算机系统2700包括处理器2702 (例如,中央处理单元
(CPU)、图形处理单元(GPU)或二者)、主存储器2704以及静 态存储器2706,其经由总线2708互相通信。计算机系统2700可进一步包括视频显示单元2710 (例如,液晶显示器(LCD)或阴极射 线管(CRT))。计算机系统2700还包括文字数字输入单元2712 (例如,键盘)、用户界面(UI)导航设备2714 (例如,鼠标)、 盘驱动单元2716、信号发生设备2718 (例如,扬声器)和网络接口 设备2720。
盘驱动单元2716包括机器可读介质2722,其上存储有体现或由 这里所述的方案或功能的任意一个或多个使用的一组或多组指令和 数据结构(例如,软件2724)。软件2724还可以在计算机系统2700 的执行期间完全或至少部分驻留于主存储器2704和/或处理器2702 中,其中主存储器2704和处理器2702也可以构成机器可读介质。
软件2724进一步可经由使用多种已知传输协议(例如,HTTP) 中任意一种的网络接口设备2720在网络2726上进行传输和4妄收。
尽管在示例性实施方式中机器可读介质2722 ^皮示出为单个介 质,但术语"机器可读介质"应该包含存储一组或多组指令的单个 介质或多个介质(例如,中央式或分布式数据库和/或关联的高速緩 存器和服务器)。术语"机器可读介质"还应当包括能够存储、编 码或携带 一组指令的任何介质,以由机器进行执行所述指令并且使 得机器执行本发明的一个或多个方案中的任意一个;或者包括能够 存储、编码或携带由该组指令使用或与该组指令关联的数据结构的 任何介质。相应地,术语"机器可读介质"还应当包括但不限于固 态存储器、光学和磁性介质以及载波信号。
但很明显的是,在不脱离本发明更宽精神和范围的情况下,可以对 这些实施方式做出各种修改和改变。因此,说明书和附图应当被认 为具有示意性意义而并非限制性意义。附图形成本发明一部分,其 以示意而非限制的方式示出了发明主体可以在其中实现的具体实施 方式。对所示意的实施方式进行了足够详细的描述,从而使得本领 域技术人员能够实现此处所公开的教导。其他实施方式也可以使用 并从中导出,从而在不脱离本公开的范围的情况下可以进行结构和逻辑上的替换和变化。因此,详细描述并不具有限制意义,并且各 种实施方式的范围仅由所附权利要求书随同此权利要求所授予的完 整等同范围来定义。
本发明主题的这些实施方式在这里可以单独地和/或集中地称为 术语"发明",这仅出于方便的目的而不旨在于在实际上公开了多 个发明概念时主动地将本申请的范围限制到任何单 一 发明或发明概 念。因此,尽管这里示意和描述了具体实施方式
,但应当意识到的 是,计算而实现相同目的的任何设置可以替代这里所示出的具体实 施方式。该公开旨在于覆盖各种实施方式的任何以及全部调整和变 形。当回顾上述描述时,上述实施方式的组合以及这里未具体描述 的其他实施方式对于本领域技术人员是很清楚的。
提供本公开的摘要以符合37 C.F.R. §1.72(b),其要求摘要从而允 许读者快速地确认技术公开的特质。需要理解的是,提交的摘要并 不用于解释或限制权利要求书的范围或含义。此外,在之前的详细 描述中,可以看到,出于使本公开流畅的目的,在单个实施方式中 将各种特征归组在一起。本公开的方法不能被解读为反映这样的意
用的更多。而是,如随后的权利要求所反映,发明主题处于比单一 公开实施方式的全部特征更少的境地。因此,随后的权利要求结合 到详细描述中,其中每个权利要求就其自己而言是单独的实施方式。
权利要求
1.一种方法,包括访问列表描述符,所述列表描述符声明式地指定了尺寸可变能力指示;响应于所述尺寸可变能力指示,选择用于第一列表呈递的第一线性尺寸,所述第一列表呈递基于所述列表描述符;以及基于所述列表描述符和所述第一线性尺寸来生成所述第一列表呈递。
2. 根据权利要求1所述的方法,进一步包括呈现所述第一列 表呈递。
3. 根据权利要求1所述的方法,进一步包括 响应于所述尺寸可变能力指示,选择用于第二列表呈递的第二线性尺寸,所述第二列表呈递基于所述列表描述符和列表元素;以及 基于所述列表描述符和所述第二线性尺寸来生成所述第二列表 呈递。
4. 根据权利要求1所述的方法,其中,所述第一线性尺寸的选 择进一步基于将要在所述第一列表呈递中呈递的列表元素。
5. 根据权利要求4所述的方法,其中,所述第一列表呈递进一 步基于所述列表元素。
6. 根据权利要求4所述的方法,其中,所述列表元素关联于所 述列表描述符,并且其中,所述第一列表呈递的生成包括生成所述 列表元素的列表元素呈递。
7. 根据权利要求4所述的方法,其中,所述列表元素包含在数 据存储设备中,并且所述方法进一步包括从所述数据存储设备中获取所述列表元素;以及其中,所述第一线性尺寸的选择进一步基于所述列表元素。
8. 根据权利要求7所述的方法,其中,所述第一线性尺寸的选择响应于事件。
9. 根据权利要求8所述的方法,其中,所述事件是所述第一列 表呈递的生成。
10. 根据权利要求8所述的方法,其中,所述事件是用户动作。
11. 根据权利要求4所述的方法,进一步包括执行指令以访问 所述列表元素,其中所述指令关联于所述列表描述符。
12. 根据权利要求11所述的方法,其中,所述列表元素可以从 数据存储设备中访问,并且可以独立于所述列表描述符进行存储。
13. 根据权利要求1所述的方法,其中,所述列表描述符关联于 电子内容,并且所述第一列表呈递包含在所述电子内容的呈递中。
14. 根据权利要求13所述的方法,其中,所述电子内容包括标 记语言文档、动画、电子文档、页面描述电子文档或他们的组合中 的至少一个。
15. 根据权利要求13所述的方法,其中,所述列表描述符在文 字上包含于所述电子内容中。
16. 根据权利要求1所述的方法,其中,所述列表描述符包括将 所述第一列表呈递作为滚动列表来进行呈递的指示。
17. 根据权利要求1所述的方法,其中,所述列表描述符包括将 所述第一列表呈递作为下拉列表来进行呈递的指示。
18. —种方法,包括生成列表描述符,所述列表描述符声明式地指定了尺寸可变能力 指示;以及在机器可读介质上存储所述列表描述符,可以响应于所述尺寸可变能力指示来选择用于第一列表呈递的 第一线性尺寸,所述第一线性尺寸基于所述列表描述符;以及第一列表呈递可基于所述列表描述符以及所述第一线性尺寸而 生成。
19. 根据权利要求18所述的方法,其中,所述第一线性尺寸可 进一步基于将要在所述第一列表呈递中呈递的列表元素来选择。
20. 根据权利要求19所述的方法,其中,所述列表描述符的生 成包括关联可执行指令以从数据存储设备获取所述列表元素。
21. 根据权利要求18所述的方法,进一步包括将所述列表描 述符与电子内容关联起来。
22. 根据权利要求21所述的方法,其中,经由将所述列表描述电子内容关联起来。
23. —种系统,包括数据访问模块,用于访问列表描述符,所述列表描述符声明式地 指定了尺寸可变能力指示;表单处理模块,用于响应于所述尺寸可变能力指示,来选择用于 第一列表呈递的第一线性尺寸,所述第一列表呈递基于所述列表描 述符;以及呈递模块,用于基于所述列表描述符和所述第一线性尺寸来生成 所述第一列表呈递。
24. 根据权利要求23所述的系统,其中,所述呈递模块用于呈 现所述第一列表呈递。
25. 根据权利要求23所述的系统,其中,通过所述表单处理模 块来选择所述第一线性尺寸进一步基于将要在所述第一列表呈递中 呈递的列表元素。
26. 根据权利要求23所述的系统,其中,所述表单处理模块用 于响应于所述尺寸可变能力指示来选择用于第二列表呈递的第二线 性尺寸,所述第二列表呈递基于所述列表描述符和列表元素;并且 其中,所述呈递模块用于基于所述列表描述符和所述第二线性尺寸 来生成所述第二列表呈递。
27. 根据权利要求25所述的系统,其中,所述列表元素关联于 所述列表描述符,并且所述呈递模块用于生成所述列表元素的列表 元素呈递。
28. 根据权利要求25所述的系统,其中,所述列表元素包含在数据存储设备中,所述数据访问模块用于从所述数据存储设备获取 所述列表元素,并且所述第一线性尺寸的选择进一步基于所述列表 元素。
29. 根据权利要求25所述的系统,其中,所述表单处理模块用 于执行指令以访问所述列表元素,并且所述指令关联于所述列表描 述符。
30. —种系统,包4舌表单认证模块,用于生成列表描述符,所述列表描述符声明式地 指定了尺寸可变能力指示;以及存储模块,用于在机器可读介质上存储所述列表描述符, 可以响应于所述尺寸可变能力指示来选择用于第一列表呈递的第一线性尺寸,所述第一线性尺寸基于所述列表描述符;以及第一列表呈递可基于所述列表描述符以及所述第一线性尺寸而 生成。
31. 根据权利要求30所述的系统,其中,所述表单认证模块用 于将可执行指令关联起来,以利用所述列表描述符来从数据存储设 备获取列表元素。
32. 根据权利要求30所述的系统,其中,所述表单认证模块用 于将所述列表描述符与电子内容关联起来。
全文摘要
某些实施方式可以提供一种方法,包括访问列表描述符,所述列表描述符声明式地指定了尺寸可变能力指示;响应于所述尺寸可变能力指示,选择用于第一列表呈递的第一线性尺寸,所述第一列表呈递基于所述列表描述符;以及,基于所述列表描述符和所述第一线性尺寸来生成所述第一列表呈递。
文档编号G06F17/24GK101308489SQ200810092870
公开日2008年11月19日 申请日期2008年5月7日 优先权日2007年5月7日
发明者A·卡斯特鲁西, T·菲纳 申请人:奥多比公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1