XForms入门

原创 2003年06月16日 16:28:00

2 XForms入门<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

本章简单描述XForms,但并未全部描述Xforms的所有功能。 For XForms完整标准的描述, 请参考后续文档。以下小节提供了嵌入XHTML文档的XForms应用程序的完整实例,实例在E.1 XForms In XHTML

2.1 从表述中分离目的或意图

典型的表单由意图(或目的)等与数据集合组成,意图通过创建允许用户提供必需信息的交互式表述实例化, 完成表单返回结果数据。

意图

表述

数据

数据集合

表单控件的布局

注册信息

工作时间列表

收集工作时间的用户界面

工作天数、小时数

购物应用程序

购物的用户界面

订单、 运输、 支付信息

信息采集

WWW页面集成表单界面

用户联系信息

HTML表单不能从表述中分离意图,而且,只能提供由表单捕获的有限的数据,下面列举了XForms的主要优点:

更强的输入

提交的数据是通过由输入验证规则自动生成的代码验证的、有效的数据,使用输入验证规则将有助于客户端验证。

现有架构重用

使用XForms应用程序可以消除副本, 并确保业务逻辑定义内的变更导致的更新验证规则可以无需重新创建验证规则。

外部架构添加

使得XForms创作者能够在基本约束集合之外提供附加约束,并作为 XForms模型的一部分,同时将增强Web应用程序结果的全局可用性。

XML提交

将消除为争利提交数据而自定义服务器端逻辑的需求,接收到的XML实例文档能够直接被应用程序后端验证和处理。

国际化

应用XML 1.0的实例数据确保提交的数据国际化。

增强的可用性

XForms分离内容和表述,用户界面控件封装了所有相关媒体数据(如:标签),,将增强不同形式应用程序的可用性。 XForms用户界面控件是一般的、平台独立的。

多设备支持

高级用户界面控件以及基于意向的用户界面创作使得用户在不同设备间交互成为可能。

公布的事件句柄

与现在用交互脚本进行事件处理不同,通过定义适合于一般事务的基于XML的公布的事件句柄(如:setFocus, message, and setValue),多数XForms文档能被静态分析。

2.2 当前方法:HTML

假设简单的基于HTMLs电子商务表单被创建如下:

实例:HTML 表单

 

<html>

  <head>

    <title>eCommerce Form</title>

  </head>

  <body>

    <form action="http://example.com/submit" method="post">

      <table summary="Payment method selector">

      <tr>

      <td><p>Select Payment Method:</p></td>

      <td><label><input type="radio" name="as" value="cash"/>Cash</label>

      <label><input type="radio" name="as" value="credit"/>Credit</label></td>

      </tr>

      <tr>

      <td><label for="cc">Credit Card Number:</label></td>

      <td><input type="text" name="cc" id="cc"/></td>

      </tr>

      <tr>

      <td><label for="exp">Expiration Date:</label></td>

      <td><input type="text" name="exp" id="exp"/></td>

      </tr>

      <tr>

      <td colspan="2"><input type="submit"/></td>

      </tr>

      </table>

    </form>

  </body>

</html>

某个用户代理可能显示如下:

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />CSDN_Dev_Image_2003-6-16228000.png

这个表单未能从表述(表单控件input )中分离意图(数据集合),无法控制获得的一系列名称和值对应的结果,XForms则不同, XForms极大丰富了电子表单的内涵。

2.3 转变到XForms

       XForms语法表述中, 表单由描述表单行为的单元(称为:XForms模型)和描述表单如何表现的单元组成。 XForms 1.0 定义的XForms用户界面, which is a 设备独立的, 平台独立的适合普遍用途的表单控件集合,通过XForms绑定机制,XForms模型实现对用户界面的约束,这种结构允许用户将自己的用户界面添加到XForms表述中,结构形式如下:

CSDN_Dev_Image_2003-6-16228002.jpg

最简单的形式允许用户创建新的XForms表单控件而无需实现表单的其他单元, HTML表单转换到Xforms表单,需要在文档的head 单元内定义 model元素:

 

<xforms:model>

  <xforms:submitInfo action="http://examples.com/submit" id="submit"/>

</xforms:model>

通过这种转换,前一个例子可以写成:(这个例子假定缺省的XForms命名空间前缀):

 

<selectOne ref="as">

  <caption>Select Payment Method</caption>

  <choices>

    <item>

      <caption>Cash</caption>

      <value>cash</value>

    </item>

    <item>

      <caption>Credit</caption>

      <value>credit</value>

    </item>

  </choices>

</selectOne>

 

<input ref="cc">

  <caption>Credit Card Number</caption>

</input>

 

<input ref="exp">

  <caption>Expiration Date</caption>

</input>

 

<submit submitInfo="submit">

  <caption>Submit</caption>

</submit>

这个设计具有以下的特性:

  • 单选按钮不难编码实现,因此可以以适当方式在不同设备(如:voice browser)上实现单选("selectOne")。

  • 表单控件通常具有相关联的标题子元素(caption),这是为实现易用性而设计的关键功能。

  • HTML语言中相似,form元素是不能嵌套使用的。 (关于创作多表单文档的详细信息可以参照 2.6 多表单文档 )

  • 简化了表单控件的定义。

  • 可以将数据以XML形式提交。

经过上述变更, XForms处理器 就能够直接提交XML实例数据(instance data). XML实例数据的子节点名由表单控件属性ref定义,本例中表单提交的数据可能如下所示:

<instanceData>

  <as>Credit</as>

  <cc>1235467789012345</cc>

  <exp>2001-08</exp>

</instanceData>

XForms -- 下一代的web表单

v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML...
  • linsan2008
  • linsan2008
  • 2006年07月05日 14:03
  • 1279

设置查看XForms的环境

如果玩过 XForms 的人,应该注意到浏览器不能正确显示 XForms 版的页面,除非您喜欢的 Web 浏览器提供了内置的 XForms 支持,否则必须使用一种 XForms 实现。我们来看看如何安...
  • wang_zhou_jian
  • wang_zhou_jian
  • 2010年06月25日 21:47
  • 1640

采用HTML替换XFORM技术方案概述

页面改造方案确定为: 1. HTML+Ajax Toolkit提升页面展现速度;   原XForm界面,用HTML技术改造,直接绘制应用界面。 2.流程方面,以getMessage获取任务消息,...
  • xiaoyw
  • xiaoyw
  • 2013年11月11日 14:51
  • 916

XForms 专题

W3C XForms 是对 HTML 表单的更新,它提供了可扩展的方法可以在 HTML 文档中包括更丰富、更动态的表单。您还可以使用 XForms 更快速更方便地创建 Web 表单。XForms 支持...
  • ibmjournal
  • ibmjournal
  • 2007年01月17日 13:30
  • 461

XForms 基础

XForms 的发展势头迅猛,常见浏览器使用扩展或插件来支持它,此外还有 IBM® Workplace Forms 之类的技术(请参见参考资料部分)。它的灵活和强大对 Web 开发人员很有吸引力,内存...
  • likecheng
  • likecheng
  • 2017年10月17日 18:27
  • 36

XForms简介

1.  什么是XForms?(1). XForms 是下一代的 HTML 表单(2). XForms 与 HTML 表单相比更完善,更灵活(3). XForms 将在 XHTML 2.0 中成为表单标...
  • wang_zhou_jian
  • wang_zhou_jian
  • 2010年06月25日 21:29
  • 1409

XForms架构

HTML表单是一种用于收集用户数据和提交数据到服务器的重要应用技术,然而,HTML表单只是一个简单的工具,它本省无法满足web应用所需的一些特性,例如复杂数据有效性验证。还有,由HTML表单提供的用户...
  • linsan2008
  • linsan2008
  • 2006年05月19日 17:58
  • 1209

理解 XForms

通过使用 XForms、XQuery 和 XSLT 等基于 XML 的技术,可以开发出复杂的多用户应用程序,从交互式的帮助系统到定制的 “游戏” 应用程序,多个用户可以在这些应用程序中同时进行交互。本...
  • ibmjournal
  • ibmjournal
  • 2007年07月09日 13:29
  • 1481

XForms 教程

http://www.w3school.com.cn/xforms/index.asp
  • yjfkpyu
  • yjfkpyu
  • 2009年03月04日 23:06
  • 462

XForms 资源LINK

 2006/05/191. One book :http://safariexamples.informit.com/0321154991/book.html#bookpa2.html 2006/05...
  • linsan2008
  • linsan2008
  • 2006年05月17日 17:30
  • 555
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XForms入门
举报原因:
原因补充:

(最多只允许输入30个字)