-
XForms
鎖定
XForms是W3C組織所推薦的下一代在線Forms,它吸取了W3C標準諸如:XML Schema, XPath和基於XML的事件,最大特色是包含了客户端驗證的功能。
- 中文名
- XForms
- 定 義
- 下一代在線Forms
- 推 薦
- 2003年10月14日
- 突 破
- 當前HTML forms模型的一些限制
XForms簡介
XForms是W3C組織所推薦的下一代在線Forms(早在2003年10月14日就被W3C推薦),它吸取了W3C標準諸如:XML Schema, XPath和基於XML的事件,XForms試圖突破當前HTML forms模型的一些限制。
XForms的最大特色是包含了客户端驗證的功能,我們知道,在HTML中,許多關於forms驗證的功能需要寫大量的JavaScript腳本,由於驗證的Javascript腳本庫依賴於forms中的各個元素,當它們發生變化時,不得不重新更新或維護Javascript驗證腳本。XForms結合了許多關於驗證方面的功能,對form驗證只需要使用簡單的XML標記完成,其它亮點還有:XForms將數據從表現中分離,更健壯的數據類型表示,能夠遞交XML數據到服務端-替代我們通常使用name/value遞交的做法(看起來這個還不錯),XForms可以在不同的設備上正常顯示。在學習XForms之前,推薦先閲讀一下Web Forms 2.0,關於XForms的教程和文檔可在W3C站點找到。
被稱為“下一代Web表單”的XForms最初起源於HTML工作組的工作。W3C組織力圖將XForms制定成為HTML表單的替代標準,用於包括桌面電腦、手持設備、信息家電等領域在內的各種平台之上。傳統的HTML Web表單沒有將表單的設計目的和表現形式分離開來,表單設計的靈活性很低,同時客户端計算能力也無法充分利用。
為了克服以上缺點,XForms對表單進行了抽象定義,將表單區分為數據,邏輯和表現三方面。規範中沒有規定實現細節,因此XForms處理器的實現形式是多樣的。既可以基於瀏覽器嵌入HTML頁面中,利用HTML和JavaScript進行表現;也可以用Java Swing應用程序等形式表現。另外XForms還為應用提供了事件驅動模型,這使得用户可以像開發普通的GUI應用程序一樣對鼠標、鍵盤等事件進行相應的編程。
XForms標準的成功之處就是將表單的作用和表現方式分離,由相互獨立的部分分別負責描述。這使得XForms的表現方式更靈活。
XForms定義
XForms 是下一代的 HTML 表單
XForms 與 HTML 表單相比更完善,更靈活
XForms 將在 XHTML 2.0 中成為表單標準
XForms 獨立於平台和設備
XForms 可從表現分離數據和邏輯
XForms 使用 XML 來定義表單數據
XForms 可存儲和傳輸 XML 文檔中的數據
XForms 含有諸如計算以及表單驗證等特性
XForms 可減少或根除對腳本的需求
XForms 是 W3C 標準
XForms框架
HTML 表單的作用是蒐集數據。XForms 的作用是相同的。
通過 XForms,輸入數據被描述在兩個不同的部分中:
XForms 模型(描述數據和邏輯)
XForms 用户界面(顯示和輸入數據)
XForms模型
XForms 模型用於描述數據。
數據模型是 XML 文檔的一個實例(一個模板)。
XForms 模型定義了一個 <model> 元素內部的一個數據模型:
<model>
<person>
<instance>
<fname/>
<lname/>
</person>
</instance>
<submission id="form1" action="submit.asp" method="get"/>
</model>從上面的例子,您可以看到 XForms 模型使用 一個 <instance> 元素來為需要收集的數據定義 XML 模板,並使用一個 <submission> 元素來描述如何提交數據。
<submission> 模型沒有表達任何有關表單可見部分(用户界面)的信息。
XForms設計目標
1、 支持手持設備、電視、桌面瀏覽器,以及打印機和掃描儀等
2、 豐富的用户界面滿足商務、消費和設備控制等各種應用
3、 消除數據、邏輯和表現之間的耦合
4、 增強的國際化功能
5、 支持結構化表單數據
6、 先進的表單邏輯
7、 單頁面多表單,以及單表單多頁面
8、 掛起和恢復功能的支持
9、 和XML標籤集的無縫集成
XForms綁定
XForms 使用兩個部分來定義數據:XForms 模型和 XForms 用户界面。
XForms 模型是針對數據的一個 XML 模板(實例),而 XForms 用户界面是對數據輸入和顯示的描述。
XForms 使用 XPath 來定義這個兩個部分的連接。這被稱為綁定(binding)。
XForms數據類型
XForms 屬性參考
名稱 | 描述 |
---|---|
calculate | 定義對項目執行的計算。 |
constraint | 定義對項目的約束。 |
p3ptype | 為項目定義 P3P 數據類型。 |
readonly | 為項目定義一個編輯限定(edit restriction)(無法修改) |
relevant | 定義數據如何相關聯。(供顯示還是提交) |
required | 定義數據項目是必需項目。(不能為空) |
type | 為項目定義數據類型。 |
字符串數據類型
名稱 | 描述 |
---|---|
ID | A string that represents the ID attribute |
IDREF | A string that represents the IDREF attribute |
IDREFS | - |
language | A string that contains a valid language id (e.g. en, en-US) |
Name | A string that contains a valid XML name |
NCName | - |
NMTOKEN | A string that represents the NMTOKEN attribute |
NMTOKENS | - |
normalizedString | A string that does not contain new line characters or tabs |
QName | - |
string | A string. This is the default data type XForms will use if no data type is specified.Note: string may contain tab characters and new line characters |
token | A string that does not contain line feeds, carriage returns, tabs, leading or trailing spaces, or multiple spaces |
所有的字符串數據類型都源自於 string 數據類型本身。
日期和時間數據類型
名稱 | 描述 |
---|---|
date | Defines a date value |
dateTime | Defines a date and time value |
gDay | Defines a part of a date - the day (DD) |
gMonth | Defines a part of a date - the month (MM) |
gMonthDay | Defines a part of a date - the month and day (MM-DD) |
gYear | Defines a part of a date - the year (CCYY) |
gYearMonth | Defines a part of a date - the year and month (CCYY-MM) |
time | Defines a time value |
數值數據類型
名稱 | 描述 |
---|---|
byte | A signed 8-bit integer |
decimal | A decimal value |
int | A signed 32-bit integer |
integer | An integer value |
long | A signed 64-bit integer |
negativeInteger | An integer containing only negative values (..,-2,-1) |
nonNegativeInteger | An integer containing only non-negative values (0,1,2,..) |
nonPositiveInteger | An integer containing only non-positive values (..,-2,-1,0) |
positiveInteger | An integer containing only positive values (1,2, ..) |
short | A signed 16-bit integer |
unsignedLong | An unsigned 64-bit integer |
unsignedInt | An unsigned 32-bit integer |
unsignedShort | An unsigned 16-bit integer |
unsignedByte | An unsigned 8-bit integer |
All numeric data types are derived from the decimal data type.
雜項數據類型
名稱 | 描述 |
---|---|
anyURI | Represents a URI, which includes web page addresses |
base64Binary | Allows characters, including control characters, that otherwise aren't representable in XML |
boolean | Defines a true/false or 1/0 value |
double | - |
float | - |
hexBinary | - |
XForms 數據類型
名稱 | 描述 |
---|---|
listItems | Represents a whitespace-separated list |
listItem | Represents only non-whitespace characters. An excellent base type for a whitespace-separated list |
dayTimeDuration | Represents a duration of a certain number of seconds |
yearMonthDuration | Represents a duration of a certain number of months |
- 參考資料
-
- 1. XForms .w3c[引用日期2012-11-01]
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:18次歷史版本
- 最近更新: 0零度的风