跳轉到內容

XForms/Bind

來自華夏公益教科書

在構建 XForms 應用程式時,您將學習三個核心概念

  1. 模型是資料元素的樹
  2. 演示是資料元素的樹
  3. 為了構建您的表單,這兩棵樹需要連線在一起 - 這稱為“繫結”

本食譜中的許多練習都提供了此繫結的示例。此過程是這種工作方式的一個小例子。在實踐中,有很多方法可以將使用者介面繫結到模型。

螢幕影像

[編輯 | 編輯原始碼]

螢幕影像類似於之前示例中的輸入程式。此示例有兩個輸入欄位用於輸入人員的姓和名,以及兩個輸出控制元件。

示例程式

[編輯 | 編輯原始碼]
<html
   xmlns="http://www.w3.org/1999/xhtml"
   xmlns:xf="http://www.w3.org/2002/xforms" 
   xmlns:xs="http://www.w3.org/2001/XMLSchema" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <head>
      <title>Your Title Here</title>
      <xf:model>
         <xf:instance xmlns="">
            <data>
               <PersonGivenName/>
               <PersonSurName/>
            </data>
         </xf:instance>
         <xf:bind id="PersonGivenName" nodeset="/data/PersonGivenName"/>
         <xf:bind id="PersonSurName" nodeset="/data/PersonSurName"/>
      </xf:model>
   </head>
   <body>
       <xf:input bind="PersonGivenName" incremental="true">
          <xf:label>Input First Name:</xf:label>
       </xf:input>
       <br/>
       <xf:input bind="PersonSurName" incremental="true">
          <xf:label>Input Last Name:</xf:label>
       </xf:input>
       <br/>
       <xf:output bind="PersonGivenName">
          <xf:label>Output First Name:</xf:label>
       </xf:output>
       <br/>
       <xf:output bind="PersonSurName">
          <xf:label>Output Last Name:</xf:label>
       </xf:output>
   </body>
</html>

以下是模型中繫結資料元素路徑到識別符號的兩行

   <xf:bind id="PersonGivenName" nodeset="/data/PersonGivenName"/>
   <xf:bind id="PersonSurName" nodeset="/data/PersonSurName"/>

請注意,bind 使用 nodeset,而不是 ref 來指定例項文件中葉元素的路徑名。

完成此操作後,每個輸入或輸出資料元素的使用者介面元素只需新增 bind 屬性

  <xf:input <b>bind="PersonGivenName"</b>>

我們還應該注意到,在本例中,每個資料元素只有一個輸入和一個輸出。這並不一定是必須的。一個輸入可以繫結到多個輸出,一個輸出也可以依賴於多個輸入。一個例子就是使用 bind 語句的“calculate”屬性。

繫結屬性

[編輯 | 編輯原始碼]

以下是 bind 元素的屬性及其使用說明

型別

  • 將例項變數與特定的 XML 架構資料型別關聯
  • 擴充套件或限制架構型別定義

相關

  • 根據模型中資料元素的值啟用或停用控制元件

必需

  • 根據模型中資料元素的值有條件地使欄位必填

只讀

  • 根據模型資料元素(例如角色)停用欄位編輯

約束

  • 在兩個或多個數據元素之間建立複雜的架構約束
  • 設定節點集的最小值或最大值的限制

計算

  • 在資料元素之間建立計算依賴關係
  • 根據其他資料元素計算新資料元素的值
  • 在 XForms 中啟用類似電子表格的計算
下一頁: 加法器 | 上一頁: 類似電子表格的更新
首頁: XForms
華夏公益教科書