v7 v8

輸入表單

上次更新: 2023-08-31
  • 建立對象:
  • User
    Developer

以下是有關在Adobe Campaign中使用輸入表單的一些一般原則。

Forms的詳細資訊,請參閱 本節.

表單結構

輸入表單的XML檔案必須包含 <form> 根元素具有 名稱名稱空間 屬性以分別填入表單名稱及其名稱空間。

<form name="form_name" namespace="name_space">
…
</form>

依預設,表單會與具有相同名稱和名稱空間的資料結構描述相關聯。 若要將表單與不同名稱建立關聯,請在 entity-schema 的屬性 <form> 元素。

為了說明輸入表單的結構,我們根據範例結構描述「cus:book」描述了一個介面:

這是對應的輸入表單:

<form name="book" namespace="cus" type="contentForm">
  <input xpath="@name"/>
  <input xpath="@date"/>
  <input xpath="@language"/>
</form>

編輯元素的說明開頭為 <form> 根元素。

編輯控制項輸入於 <input> 元素與 xpath 包含其結構描述中欄位路徑的屬性。

有關XPath語法的提醒:

XPath語言在Adobe Campaign中用於參照屬於資料結構的元素或屬性。

XPath是一種語法,可讓您在XML檔案的樹狀結構中尋找節點。

元素是以其名稱來指定,而屬性是以字元「@」開頭的名稱來指定。

範例:

  • @date:選取名為「date」的屬性
  • chapter/@title:選取「 」底下的「title」屬性 <chapter> 元素
  • …/@date:從目前元素的父元素中選取日期

編輯控制項會自動適應對應的資料型別,並使用結構描述中定義的標籤。

依預設,每個欄位會顯示在一行上,並佔用所有可用的空間(視資料型別而定)。

注意

輸入表單必須參考 type="contentForm" 上的屬性 <form> 元素來自動新增輸入內容所需的框架。

格式

控制項相對於彼此的排列方式看起來類似於HTML表格中使用的排列方式,可能會將控制項分割為數個欄、交錯元素或指定可用空間的佔用。 但是請記住,格式僅授權比例分配;您不能為物件指定固定尺寸。

如需詳細資訊,請參閱本章節

清單型別控制項

若要編輯收集要素,您必須使用清單型態控制項。

欄清單

此控制項會顯示可編輯的欄清單,其工具列包含新增和刪除按鈕。

<input xpath="chapter" type="list">
  <input xpath="@name"/>
  <input xpath="@number"/>
</input>

清單控制項必須填入 type="list" 屬性,而清單的路徑必須參照收集要素。

欄由子項宣告 <input> 清單元素。

注意

當出現下列情況時,會自動新增向上和向下排序箭頭: ordered="true" 資料結構描述中集合元素的屬性已完成。

依預設,工具列按鈕會垂直對齊。 它們也可以水準對齊:

<input nolabel="true" toolbarCaption="List of chapters" type="list" xpath="chapter">
  <input xpath="@name"/>
  <input xpath="@number"/>
</input>

toolbarCaption 屬性會強制水準對齊工具列,並填入清單上方的標題。

注意

若要讓集合元素標籤不顯示在控制項的左側,請新增 nolabel="true" 屬性。

放大清單

可在單獨的編輯表單中插入和編輯清單資料。

在下列情況下會使用清單中的編輯表單:

  • 為了方便資訊輸入,
  • 存在多行控制項,
  • 清單中的欄位僅包含主要欄位,而表單會顯示收集要素的所有欄位。

<input nolabel="true" toolbarCaption="List of chapters" type="list" xpath="chapter" zoom="true" zoomOnAdd="true">
  <input xpath="@name"/>
  <input xpath="@number"/>

  <form colcount="2" label="Editing a chapter">
    <input xpath="@name"/>
    <input xpath="@number"/>
    <input colspan="2" xpath="page"/>
  </form>
</input>

編輯表單的定義是透過 <form> 元素。 其結構與輸入表單的結構相同。

A Detail 按鈕會在以下情況自動新增: zoom="true" 在清單定義中輸入屬性。 這可讓您在選取的行上開啟編輯表單。

注意

新增 zoomOnAdd="true" 屬性會強制在插入清單的元素時呼叫編輯表單。

索引標籤清單

此清單會以索引標籤的形式顯示集合元素的編輯。

<container toolbarCaption="List of chapters" type="notebooklist" xpath="chapter" xpath-label="@name">
  <container colcount="2">
    <input xpath="@name"/>
    <input xpath="@number"/>
    <input colspan="2" xpath="page"/>
  </container>
</container>

清單控制項必須填入 type="notebooklist" 屬性,而清單的路徑必須參照收集要素。

索引標籤的標題包含透過輸入的資料值 xpath-label 屬性。

編輯控制項必須宣告於 <container> 元素是清單控制項的子項。

使用工具列按鈕來新增或刪除清單元素。

注意

當出現下列情況時,會自動新增左右排序箭頭: ordered="true" 屬性會針對資料結構描述中的收集元素填入。

容器

容器可讓您將一組控制項分組。 它們透過 <container> 元素。 它們已用來格式化數個欄中的控制項,並用來控制索引標籤清單。

有關容器及如何在輸入表單中使用的詳細資訊,請參閱 本節.

編輯表單

編輯區域可讓您輸入輸入表單的XML內容:

Preview 索引標籤可讓您檢視輸入表單:

深入瞭解 編輯表單表單結構.

本頁內容