CharlieShen

新人,大家多关照啦@_@

  博客中心 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 登录 ::
  3994 随笔 :: 0 文章 :: 20 评论 :: 0 Trackbacks
Cached @ 2025/4/26 19:07:00Control ASP.skins_cogitation_controls_blogstats_ascx
<2007年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

留言簿(14)

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜

Cached @ 2025/4/26 19:07:00Control ASP.skins_cogitation_controls_singlecolumn_ascx
XForms 是下一代 Web 表单的数据处理技术,它通过 Data Instance(数据实例),定义表单上所有和后端应用关联的数据信息,实现各种数据处理。本文首先对 XForms / Data Instance 及 IBM Lotus Forms 进行简单介绍,然后结合作者的项目开发经验,提出了 XForms 在实际表单应用中的一个典型的数据处理应用场景。针对该应用场景,本文列举了两种 Data Instance 的设计处理方法,通过对比,阐述了如何巧妙的利用 XPath 设计合理的 Data Instance,以达到利用电子表单灵活方便处理后端数据的需求。
简介

电子表单在当今的软件应用程序中无处不在,标准化的、数据驱动的方法有助于构建表单生成技术。电子表单的标准化格式支持创建容易理解的、可移植的表单,而数据驱动的方法使基于所收集的数据表示来生成电子表单变得更容易。

W3C 针对表单数据的表示和采集提出了 XForms 标准。如 W3C Recommendation 中所述,XForms 的目的是成为“下一代 Web 表单”。和现有的 HTML 表单相比,XForms 有许多突出的优点。正如 Recommendation 中所说的,“通过将传统的 XHTML 表单分成三部分—— XForms 模型、实例数据和用户界面,从而把表示从内容中分离出来,提高重用性和实现强类型,可以减少和服务器通信的次数,提供设备独立性,并减少脚本的使用”。

为了适应电子表单应用飞速发展的市场需求,IBM 推出了 Lotus Forms 电子表单解决方案,通过采用 XForms 等电子表单技术,IBM Lotus Forms 能够很方便的实现后端数据处理和后端应用整合,为所有公共或私有部门组织提供高安全性的电子表单,以充分利用现有的资源和系统来更好地为客户服务,提高运营效率。

XForms 模型表示表单的内容,它能独立于任何用来显示数据值的窗口组件集,来声明数据项和结构。它是一个 XML 数据块,包含一个或多个 XML 实例文档,包括数据实例 (Data Instances)、绑定 (Binds)、提交 (Submissions) 三部分。其中,表单的数据包含在数据实例中;表单的逻辑组件定义其行为,包括绑定和提交等。XForms 为处理这些 XML 数据提供了多种强大的机制,表单操纵这些实例文档,并负责将 XML 提交到后端系统。

Data Instance 是用于在表单中嵌入任意 XML 数据块的一种机制。它定义表单上所有和后端应用进行关联的数据信息。一个 Data Instance 可以用于存储表单上的任何输入数值,为表单上某些用户域进行数据预呈现,或者动态的生成数据可选项列表。

本文作者曾参与了多个与 IBM Lotus Forms 电子表单相关项目的前期需求分析、实例编写和应用搭建。在实施过程中,根据用户需求动态生成数据可选项列表,往往是电子表单应用中最常见的一种设计要求,也是 Data Instance 在使用过程中最广泛的一种应用模式。而更多的应用场景,往往都包含多个相互关联的数据可选项列表,即第二个可选项列表中的可选数值会随着第一个可选列表中选定数值的变化而发生变化,依此类推。这种场景,使用传统的应用开发方法,是非常简单易于实现的,但是使用 XForms 进行设计,如果设计不好,就会大大降低表单应用的灵活性。下文将举一个具体实例,对这一问题进行详细描述,说明如何巧妙的设计 Data Instance 来灵活的进行表单中的数据处理。






回页首




应用场景描述

图 1 是使用 IBM Lotus Forms Designer 设计的电子表单的一部分用户界面。用户在填写表单过程中,需要填写详细地址信息。其中,当用户在“国家”下拉菜单中选择了国家之后,“省份 / 州”下拉菜单中的可选项将随之发生变化,列出该国家可选的省份 / 州。


图 1. 用 Designer 设计的表单的部分用户界面


以上应用需求,使用 Lotus Forms Designer 进行设计,最简单的方式是使用传统的 XFDL 来实现,将所有国家和省份 / 州的列表数据直接写死赋值给这些下拉菜单字段域。显而易见,这种方法虽然简单,但是没有任何灵活性。当可选国家、省份 / 州的数值列表发生变化时,必须通过 Lotus Forms Designer 修改这个电子表单(.xfdl 文件),修改之后,才能重新生效。因此,采用 XForms,使用 Data Instance,通过 XML 进行数据获取和交换,保证数据层和展现层的分离,是较好的解决方法。

那么,如何根据表单界面的需求,设计灵活合理的 Data Instance 呢?






回页首




常用的 Data Instance 设计

最被普遍使用的也最容易想到的 Data Instance 结构,如清单 1 所示:
分享按钮发布于: 2007-12-07 14:55 CharlieShen 阅读(205) 评论(0)  编辑 收藏