XForms/背景
XForms標準的出現源於許多人希望將網路用於超越文件連結的更多用途。全球資訊網標準的最初設計引入了許多創新概念,包括URL、HTML標記語言和HTTP協議。
但除了創新之外,優雅的表單處理並非初始HTML語言的設計目標之一。事實上,許多高階輸入欄位是在HTML變得流行之後才新增到HTML規範中的。
有一點很明確:乾淨的MVC概念的引入從未成為最初HTML規範的一部分。人們曾多次嘗試將更好的控制元件引入瀏覽器和HTML語言,但這些嘗試大多都失敗了,原因有四點
- 它們要麼是針對特定問題的瀏覽器或供應商特定的解決方案
- 它們沒有整合XML Schema、XPath和CSS的主流發展
- 它們沒有考慮到對清晰關注點分離的需求
- 它們沒有滿足瞭解MVC架構優勢的應用程式架構師的嚴格需求
因此,許多此類點解決方案已被丟棄,或者僅被某些供應商小範圍使用。
大約1997年,W3C開始解決這些使用者的擔憂,並研究如何以更好的方式處理Web表單。他們意識到資料元素驗證是一個主要問題,並且重新發明XML Schema中已有的驗證工具只會重複工作。
第一個XForms草案規範於2000年4月6日釋出。從那時起,它經歷了多次修訂,最新版本(1.1)於2006年3月釋出。
如今,XForms標準解決了幾個Web表單開發問題
- 模型-檢視-繫結架構
- 高階功能
- 所有瀏覽器整合的精確規範
- 無需依賴JavaScript程式設計即可擴充套件
- 關於表單元素如何更新的內建假設
每個XForms應用程式都嵌入了當表單元素髮生變化時自動重新計算值的功能。如果您的表單很複雜,並且包含計算規則,那麼此功能對於避免編寫手動重新計算程式碼至關重要。大多數JavaScript表單庫要求作者不僅指定表單規則,還指定這些規則必須執行的順序。XForms中透過一種自動化方法來確定重新計算的順序,取代了這種緩慢且痛苦的表單作者指定的重新計算順序。
XForms應用程式實現此功能的方式是基於最佳圖演算法自動確定重新計算順序。
關於XForms設計的最重要的論文之一來自以下論文
如果您的表單很簡單,只有幾個元素並且沒有計算規則,那麼HTML表單可能是您的一個好選擇。如果您的表單包含規則,例如採購訂單中的求和和總計計算,那麼XForms可能是您的Web表單的理想選擇。
有關XForms規範的當前工作草案,您可以訪問w3網站