跳轉到內容

XForms

75% developed
來自華夏公益教科書,開放的世界,開放的書籍
XForms
歡迎來到 XForms 教程和食譜華夏公益教科書!

XForms 是 全球資訊網聯盟 推薦 的用於建立 Web 表單和 Web 應用程式的標準。它易於學習,提供豐富的使用者體驗,並且不需要你學習 JavaScript。

XForms 有很多不同的實現,這個食譜旨在與任何實現一起使用。在 W3C 網站 上有一個實現列表。

這是一個協作專案,我們鼓勵所有使用 XForms 的人貢獻他們完整的 XForms 工作示例。所有提交都必須在 知識共享署名-相同方式共享 2.5 許可證 下授權。

注意:本華夏公益教科書中的許多示例仍然使用“nodeset”屬性用於繫結規則、組和重複。大多數 XForms 系統(Orbeon 和 betterForm)現在使用“ref”屬性,可能不再支援舊的“nodeset”屬性。XSLTForms 1.0RC 不允許使用 @ref 代替 @nodeset,但從 rev.559 開始的版本支援使用 @ref 代替之前使用的 @nodeset。我們將相應地更新示例。

  1. 講師:如果你正在使用本書學習或教授 XForms,請在我們的 訪客登記簿 上簽名。
  2. 貢獻者:請檢視我們的 命名約定,以確保你的示例與教科書一致。
  3. 如果你正在尋找特定示例程式,請隨時使用 想要示例 部分。

如果你覺得這些示例有用,請建立到本網站的連結。本書有超過 30 位貢獻者。

最近更改 圖書統計

相關華夏公益教科書:XQuery XForms/REST/XQuery

注意:幾乎所有示例都已在 FireFox 2.0 XForms 附加元件和更新的 0.8.6ff3 FireFox 3.0 附加元件中進行了測試。如果你發現任何錯誤,請告知我們。

介紹

  1. 介紹 - 關於本書和技術的概述。 100% developed  as of Sept 27th, 2006
  2. 背景 - XForms 標準的簡要歷史、理論和動機。 100% developed  as of Sept 27th, 2006
  3. 優點 - 為什麼使用 XForms? 100% developed  as of Sept 27th, 2006
  4. 安裝和測試 - 如何安裝 XForm 外掛或擴充套件。 100% developed  as of Sept 27th, 2006
  5. 命名約定 - 本書中使用的命名標準。 100% developed  as of March 17th, 2006
  6. XForms 產品比較 - 對 XForms 產品的比較 25% developed  as of February 17th, 2010

XForms 概覽

這些示例適用於剛入門的人。

  1. HelloWorld - 一個簡單的測試,用於檢視 XForms 是否已正確安裝。 100% developed  as of Sept 6th, 2006
  2. 簡單訊息 - 開啟一個帶有訊息的面板 100% developed  as of Sept 13th, 2006
  3. XForms 架構 - 對 XForms MVC 架構的介紹 100% developed  as of March 17th, 2007
  4. 輸入示例 - 一個簡單的輸入,它會更新模型 100% developed  as of Sept 13th, 2006
  5. 增量多對一 - 一個輸入欄位如何改變多個輸出控制元件 100% developed  as of Sept 13th, 2006
  6. 類似電子表格的更新 - XForms 如何跟蹤需要更新的欄位 100% developed  as of Sept 6th, 2006
  7. 繫結 - 如何使用 bind 元素將輸入繫結到模型 100% developed  as of Sept 6th, 2006
  8. 加法器 - 使用遠端 Web 服務對兩個數字求和的 XForm 示例 100% developed  as of Aug 6th, 2007

控制元件

  1. 輸入 - 一個帶有標籤的簡單輸入表單 100% 開發於 2006 年 9 月 6 日
  2. 地址 - 一個帶有標籤的簡單地址表單 100% 開發於 2006 年 9 月 20 日
  3. 地址對齊 - 使用 CSS 對齊欄位 100% 開發於 2006 年 9 月 20 日
  4. 輸入欄位寬度 - 使用 CSS 控制欄位寬度 100% 開發於 2006 年 10 月 23 日
  5. 秘密 - 一種輸入密碼的方式 100% 開發於 2006 年 9 月 27 日
  6. 訊息型別 - 三種訊息型別 100% 開發於 2006 年 9 月 6 日
  7. 文字區域 - 一大塊文字 100% 開發於 2006 年 9 月 6 日
  8. 帶樣式的文字區域 - 使用 CSS 樣式化文字區域 100% 開發於 2007 年 1 月 19 日
  9. 複選框 - 一個簡單的布林(是/否)複選框 100% 開發於 2007 年 9 月 14 日
  10. 從列表中選擇專案
    1. Select1 - 新的單選按鈕 100% 開發於 2006 年 9 月 6 日
    2. Select1 下拉列表 - 從下拉列表中選擇一個選項 100% 開發於 2006 年 9 月 6 日
    3. 開放選擇 - 建議一個值或允許使用者新增自己的值 100% 開發於 2007 年 8 月 12 日
    4. Select - 選擇多個(複選框) 100% 開發於 2006 年 9 月 15 日
    5. 多列選擇 - 從多列中選擇多個專案(複選框) 100% 開發於 2006 年 12 月 29 日
    6. Select1 多列 - 從多列中選擇一個專案(單選按鈕) 100% 開發於 2006 年 12 月 29 日
    7. 從模型中選擇 - 從模型中獲取選擇列表的資料 100% 開發於 2006 年 9 月 26 日
    8. 從檔案中選擇程式碼 - 從外部檔案中獲取選擇列表的資料 100% 開發於 2006 年 9 月 26 日
  11. 使用日期
    1. 選擇日期 - 使用 bind 命令顯示日曆選擇器 75% 開發於 2006 年 9 月 12 日
    2. 格式化日期 - 以 MM/DD/YYYY 格式顯示日期 100% 開發於 2006 年 9 月 13 日
  12. 上傳 - 從本地檔案系統上傳檔案 截至 2006 年 9 月 6 日,已開發 50%
  13. 觸發器 - 新按鈕 截至 2006 年 9 月 6 日,已開發 100%
    1. 控制按鈕外觀 - 設定按鈕標籤、提示並使用影像 截至 2006 年 9 月 6 日,已開發 100%
  14. 範圍 - 在表單中新增滑塊 截至 2006 年 9 月 27 日,已開發 100%
  15. 傳送 - 傳送新的資源請求 截至 2009 年 10 月 14 日,已開發 25%
  16. 載入 - 動態載入更多資源到您的表單中 截至 2009 年 10 月 14 日,已開發 25%

繫結

  1. 選擇文字 - 使用繫結表示式從各種文字訊息中設定選擇 截至 2010 年 11 月 17 日,已開發 25%

中等例子

這些示例假設您熟悉 XForms 概念和控制元件。

客戶端欄位驗證

  1. 使用繫結進行驗證 - 使用繫結表示式設定資料型別並提醒使用者 截至 2009 年 10 月 14 日,已開發 50%
  2. 大小寫驗證 - 使用繫結表示式檢查欄位的大小寫 截至 2009 年 10 月 14 日,已開發 50%
  3. 限制長度 - 使用操作在使用者超過欄位長度時發出警告 截至 2010 年 12 月 19 日,已開發 25%

伺服器端欄位驗證

  1. 伺服器端欄位驗證 - 將單個欄位傳送到伺服器以驗證欄位內容

提交資料

  1. 提交 - 將您的 XML 資料儲存到檔案或 Web 伺服器 截至 2006 年 9 月 6 日,已開發 25%
  2. 編碼引數 - 編碼提交引數 截至 2006 年 9 月 6 日,已開發 25%
  3. 更改提交中的名稱空間 - 更改提交資料的名稱空間字首 截至 2009 年 10 月 23 日,已開發 50%
  4. 顯示儲存結果 - 儲存後顯示儲存狀態 截至 2013 年 7 月 12 日,已開發 25%

事件和條件

  1. 事件概述 - 什麼是 XForms 事件以及如何使用它們 截至 2008 年 12 月 29 日,已開發 25%
  2. 設定初始游標 - 在表單載入時設定初始游標位置 截至 2008 年 1 月 7 日,已開發 75%
  3. 選中和取消選中事件 - 在選項卡被選中或取消選中時記錄事件 截至 2009 年 4 月 1 日,已開發 25%
  4. 條件操作

輸出

  1. 繫結到多個例項 - 繫結到多個模型中的多個例項 截至 2006 年 9 月 20 日,已開發 50%
  2. 繫結到範圍 - 繫結到兩個不同的範圍 截至 2006 年 9 月 20 日,已開發 75%
  3. 重複 - 使用重複來顯示列表 截至 2006 年 9 月 20 日,已開發 75%
  4. 條件樣式 - 使用 CSS 和分組來有條件地顯示列表中的專案 截至 2008 年 2 月 26 日,已開發 75%
  5. 數字格式化 - 如何格式化數字和貨幣 截至 2009 年 2 月 26 日,已開發 25%
  6. 輸出和連結 - 如何在您的輸出中顯示連結 截至 2008 年 2 月 26 日,已開發 75%

動態表單

隨著您使用而改變的表單。無需使用 Javascript 的動態表單 截至 2006 年 9 月 6 日,已開發 75%

  1. 開關和情況 - 使用開關和情況來切換檢視 截至 2006 年 11 月 7 日,已開發 25%
  2. 相關 - 只顯示相關欄位 截至 2006 年 9 月 6 日,已開發 25%
  3. 重複中的繫結 - 在重複元素內繫結 截至 2010 年 2 月 3 日,已開發 25%
  4. 顯示-隱藏控制元件 - 隱藏大型控制元件 截至 2009 年 7 月 12 日,已開發 25%
  5. 停用按鈕 - 如何在按鈕不相關時停用它們 截至 2007 年 9 月 24 日,已開發 25%
  6. 只讀 - 將輸入欄位設定為只讀 截至 2006 年 9 月 6 日,已開發 100%
  7. 選擇和分組 - 使用選擇來有條件地顯示一個分組 截至 2006 年 11 月 8 日,已開發 100%
  8. 動態標籤 - 在不重新載入頁面的情況下動態更改表單的標籤 截至 2007 年 9 月 21 日,已開發 75%
  9. 建議專案 - 在您輸入時建立一個建議專案的列表 截至 2008 年 1 月 21 日,已開發 75%
  10. 動態選擇列表 - 動態依賴於 xml 例項值的專案集 截至 2008 年 3 月 6 日,已開發 75%
  11. 增量模型載入 - 動態載入其他模型 截至 2000 年 4 月 2 日,已開發 25%
  12. 本地語言動態標籤 - 在不重新載入頁面的情況下動態更改表單的本地語言標籤 截至 2010 年 7 月 28 日,已開發 100%

搜尋表單

  1. 搜尋表單 - 建立一個搜尋表單 截至 2008 年 1 月 13 日,已開發 75%
  2. 使用載入搜尋 - 使用載入元素建立一個搜尋表單 截至 2009 年 10 月 15 日,已開發 75%
  3. 高階搜尋 - 帶有簡單和高階選項卡的搜尋螢幕 截至 2009 年 1 月 13 日,已開發 25%
  4. 日期範圍搜尋 - 搜尋具有日期範圍的專案 截至 2010 年 5 月 14 日,已開發 25%
  5. 搜尋 Flickr - 使用 REST 介面搜尋 Flickr 截至 2006 年 9 月 6 日,已開發 100%
  6. Web 服務 - 從 XForm 中呼叫 Web 服務 截至 2006 年 10 月 5 日,已開發 75%
  7. 股票報價 - 呼叫 REST 服務,從股票程式碼獲取股票資訊 截至 2006 年 11 月 9 日,開發完成 25%
  8. 搜尋亞馬遜 - 使用網路服務搜尋亞馬遜 截至 2006 年 10 月 18 日,開發完成 100%
  9. 增量查詢 - 鍵入時,選擇列表會縮小 截至 2010 年 2 月 1 日,開發完成 25%

高階表單

大型示例

  1. CKEditor - 允許使用者使用 WYSIWYG 編輯器新增標記 截至 2008 年 10 月 16 日,開發完成 25%
  2. 幻燈片 - 在幻燈片中更改影像 截至 2008 年 1 月 21 日,開發完成 75%
  3. 引用專案 - 引用集合中的專案 截至 2008 年 2 月 25 日,開發完成 75%
  4. 深度複製帶插入來源 - 使用插入來源在模型中執行例項之間的深度複製 截至 2008 年 3 月 6 日,開發完成 75%
  5. 在文字框中插入 BBcode 的觸發器
  6. 多部分表單 - 如何保持初始載入時間短 截至 2010 年 7 月 14 日,開發完成 25%
  7. 在列表之間移動專案 - 如何在列表之間移動選定專案 截至 2011 年 7 月 27 日,開發完成 25%
  8. 佇列管理 - 如何管理排序佇列中的專案 截至 2011 年 7 月 28 日,開發完成 25%

使用標籤和樹 - 瀏覽複雜表單資料 截至 2006 年 9 月 6 日,開發完成 0%

  1. 水平檔案標籤選單 - 一個完整的執行示例,無需 Javascript 截至 2006 年 9 月 6 日,開發完成 100%
  2. 水平檔案標籤選單突出顯示 - 使用 CSS 目標突出顯示選定標籤的標籤選單 截至 2006 年 9 月 6 日,開發完成 100%
  3. 垂直選單 - 與先前版本類似的選單,但使用垂直方向 截至 2006 年 9 月 6 日,開發完成 100%
  4. 在模型中儲存標籤 - 在模型中儲存標籤,並使用重複顯示標籤 截至 2010 年 9 月 6 日,開發完成 25%
  5. 摺疊選單 - 摺疊選單
  6. 樹選單 - 層次樹選單 截至 2009 年 3 月 18 日,開發完成 25%
  7. 取消選擇事件 - 當您從表單導航離開時捕獲取消選擇事件
  8. 使用繫結突出顯示水平檔案標籤選單 - 另一個使用例項、繫結、事件和 CSS 的水平檔案標籤選單 截至 2009 年 1 月 6 日,開發完成 100%
  9. 層次書籤 - 編輯書籤 截至 2006 年 9 月 6 日,開發完成 100%
  10. 大綱編輯器 - 帶縮排的大綱 截至 2007 年 2 月 5 日,開發進度為 25%

讀寫檔案

  1. 使用 get 和 put 進行讀寫 - 使用提交元素讀寫靜態資料 截至 2006 年 9 月 27 日,開發進度為 75%
  2. 儲存中間表單資料 - 將中間表單資料儲存到本地驅動器 截至 2006 年 9 月 27 日,開發進度為 25%

複合控制元件

組合控制元件的控制元件

  1. 三文件載入 - 三種上傳文件的方式 截至 2009 年 7 月 6 日,開發進度為 25%
  2. 實體選擇 - 選擇人和組織的方式 截至 2009 年 7 月 7 日,開發進度為 25%

表格和重複資料

  1. 重複到表格 - 將資料放入 HTML 表格 截至 2006 年 9 月 27 日,開發進度為 25%
  2. 重複過濾 - 動態地從列表中過濾掉行 截至 2007 年 8 月 23 日,開發進度為 50%
  3. 內聯重複 - 水平地向右側新增結構 截至 2008 年 2 月 24 日,開發進度為 100%
  4. 插入 - 將新行插入表格結構 截至 2006 年 9 月 20 日,開發進度為 100%
  5. 使用源插入 - 插入新資料並使用源屬性指定初始值 截至 2008 年 2 月 27 日,開發進度為 75%
  6. 刪除 - 從表格結構中刪除選定的行 截至 2006 年 9 月 20 日,開發進度為 100%
    1. 停用觸發器 - 當只剩下一個專案時停用刪除按鈕 截至 2007 年 10 月 22 日,開發進度為 50%
    2. 刪除確認 - 刪除前確認 截至 2006 年 9 月 20 日,開發進度為 25%
    3. 使用 CSS 確認刪除 - 使用 CSS 樣式化您的確認框 截至 2007 年 3 月 20 日,開發進度為 75%
    4. 尾部插入和刪除 - 在列表末尾新增和刪除 截至 2006 年 9 月 27 日,開發進度為 100%
    5. 在表格中插入和刪除 - 在表格中插入和刪除行 截至 2007 年 11 月 4 日,開發進度為 100%
    6. 程式碼表編輯器 - 在參考資料程式碼表中插入和刪除行 截至 2017 年 1 月 4 日,開發進度為 50%
  7. 突出顯示選定行 - 突出顯示選定的行 截至 2006 年 9 月 27 日,開發進度為 50%
  8. 表格列總計 - 表格底部帶有列總計的表格 截至 2006 年 12 月 6 日,開發進度為 100%
  9. 多個上傳 - 使用重複功能將多個上傳附加到表單 截至 2013 年 9 月 23 日,開發進度為 25%
  10. 摘要詳情 - 表格頂部的摘要資訊表允許您檢查每個專案的詳細資訊 截至 2013 年 2 月 26 日,開發完成 25%

XML 架構

  1. 從 XML 架構載入 - 從外部 XML 架構檔案載入資料型別 截至 2006 年 10 月 9 日,開發完成 75%
  2. 驗證 - 使用 XML 架構驗證表單 截至 2006 年 10 月 9 日,開發完成 25%
  3. 使用架構型別驗證 - 使用 XML 架構型別驗證表單 截至 2006 年 10 月 30 日,開發完成 75%
  4. 分面驗證 - 從 XML 架構檢查欄位的最小和最大長度 截至 2006 年 10 月 10 日,開發完成 75%
  5. SVG

JavaScript

  1. 動態載入 JavaScript - 動態載入 JavaScript 程式的示例 截至 2007 年 3 月 19 日,開發完成 25%

新增圖表、圖表和地圖

  1. 餅圖 - 使用範圍控制元件繪製餅圖 截至 2007 年 9 月 17 日,開發完成 75%
  2. Google 圖表 - 使用 Google 圖表 REST 網路服務 截至 2008 年 1 月 20 日,開發完成 25%
  3. 韋恩圖 - 使用範圍控制元件更改韋恩圖引數 截至 2008 年 1 月 20 日,開發完成 25%
  4. 供求關係 - 使用範圍控制元件更改價格,並檢視對需求的影響 截至 2007 年 10 月 10 日,開發完成 25%
  5. 圖形檢視器 - 檢視節點和連結的圖形 截至 2007 年 4 月 23 日,開發完成 75%

開發工具

  1. 事件記錄器 - 如何記錄事件的演示 截至 2008 年 1 月 8 日,開發完成 50%
  2. 替換測試器 - 測試正則表示式替換 截至 2007 年 11 月 5 日,開發完成 50%
  3. 流程步驟編輯器 - 編輯水平流程步驟列表 截至 2008 年 2 月 17 日,開發完成 50%
  4. 應用程式構建器 - 用於建立表單管理應用程式的表單 截至 2008 年 2 月 22 日,開發完成 25%
  5. 儀表盤構建器 - 用於指定單頁儀表盤佈局的表單 截至 2008 年 5 月 15 日,開發完成 25%
  6. URL 重寫器 - 配置和測試 Jetty URL 重寫規則的表單 截至 2008 年 10 月 30 日,開發完成 25%
  7. Web 服務測試器 - 用於測試 Web 服務的表單 截至 2008 年 11 月 21 日,開發完成 25%
  8. 同義詞集編輯器 - 將同義詞集與業務術語相關聯 截至 2008 年 3 月 25 日,開發完成 75%

其他示例

  1. W2 稅務表格 - 基於 Mozilla XForms 站點的示例稅務表格 截至 2006 年 9 月 6 日,開發完成 25%
  2. 發票管理器 - 發票管理器 截至 2008 年 10 月 13 日,開發完成 25%
  3. 計算器 - 一個四則運算計算器 100% 已開發 截至 2006 年 9 月 6 日
  4. 犯罪檔案 - 刑事司法中使用的複雜表單示例 50% 已開發 截至 2008 年 3 月 6 日
  5. CSS 表格 - 使用 CSS 格式化表格輸出,無需使用 HTML 表格 50% 已開發 截至 2006 年 9 月 20 日
  6. 自定義控制元件 - 使用 XBL 的自定義控制元件示例 75% 已開發 截至 2006 年 10 月 17 日
  7. 導航離開時警告 - 在儲存之前警告使用者是否導航離開 75% 已開發 截至 2007 年 3 月 19 日
  8. 全選 - 選擇表格中的所有行 25% 已開發 截至 2007 年 7 月 25 日
  9. 谷歌地圖 - 在 XForms 中使用 Google Maps 的示例 0% 已開發 截至 2007 年 11 月 5 日
  10. 使用 XSLT 排序 - 使用 XSLT 樣式表對例項進行排序的示例 75% 已開發 截至 2007 年 6 月 19 日

移動 XForms

  1. 移動 XForms - 基於 XForms 的移動應用程式示例 25% 已開發 截至 2007 年 7 月 7 日

客戶端 XForms 解決方案

  1. FireFox 擴充套件
  2. FormFaces
  3. Picoforms
  4. Ubiquity XForms - http://code.google.com/p/ubiquity-xforms/
  5. XSLTForms - 開源的客戶端實現,不是外掛或安裝,適用於所有主要瀏覽器(IE、FireFox、Opera、Safari、Chrome 等)。
  6. EMC Documentum Formula - 客戶端實現,開發者免費使用。

伺服器端解決方案

  1. Apache - 配置 Apache 以與 XForms 協同工作 25% 已開發 截至 2007 年 2 月 15 日
  2. 使用 WebDAV 和 Subversion 對錶單資料進行版本控制 - 使用 Subversion 和 WebDAV 自動對錶單資料進行版本控制
  3. IIS - 配置 Microsoft 的 IIS 以與 XForms 協同工作 0% 已開發 截至 2007 年 2 月 15 日
  4. XML 資料庫 - 使用原生 XML 資料庫與 XForms 協同工作 0% 已開發 截至 2007 年 2 月 15 日
  5. eXist - 使用 eXist 開源原生 XML 資料庫 50% 已開發 截至 2007 年 2 月 15 日
  6. IBM DB2 - 使用 DB2 v9 與 XForms 協同工作 25% 已開發 截至 2007 年 3 月 19 日
  7. Orbeon Forms - 開源的基於 Ajax 的 XForms 實現(也附帶 Form Builder 編輯器) 0% 已開發 截至 2007 年 11 月 5 日
  8. betterFORM - 使用 Dojo 工具包的開源 Java 實現,用於客戶端 AJAX 層

開發工具

  1. 表單生成器
  2. NIEM 到 XForms
  3. 表單設計器
  4. IBM Workplace Forms
  5. Intalio Form Designer
  6. 除錯 XForms

符號金鑰

華夏公益教科書開發階段
稀疏文字 0% 開發文字 25% 成熟文字 50% 已開發文字 75% 綜合文字 100%

指示 XForms/最佳實踐

華夏公益教科書