擴展方案

重要

某些內建結構不得延伸:主要是已定義下列設定的:
dataSource="file"mappingType="xmlFile".
不得擴充下列結構: xtk:entityBackupNew, xtk:entityBackupOriginal, xtk:entityOriginal, xtk:form, xtk:srcSchema, ncm:publishing, nl:監視, nms:calendar, nms:remoteTracking, nms:userAgentRules, xtk:builder, xtk:連接, xtk:dbInit, xtk:funcList, xtk:fusion, xtk:js, xtk:navtree, xtk:queryDef, xtk:resourceMenu, xtk:schema, xtk:scriptContext, xtk:session, xtk:sqlSchema, xtk:strings.
這份清單並非詳盡無遺。

擴充現有結構的方法有兩種:

  1. 直接修改源架構。

  2. 使用相同名稱但不同命名空間建立其他架構。 其優點是,您無需修改原始架構即可擴展表。

    架構的根元素必須包含 extendedSchema 屬性,其名稱為要擴展的架構的值。

    擴充功能結構沒有其專屬的結構:從來源架構產生的架構將會填入擴充功能架構的欄位。

    重要

    您不能修改應用程式的內建架構,而不能修改架構擴展機制。 否則,在將來升級應用程式時,修改的架構將不會更新。 這可能導致使用Adobe Campaign時發生故障。

    範例:延伸功能 nms:recipient 綱要。

    <srcSchema extendedSchema="nms:recipient" name="recipient" namespace="cus">
      <element name="recipient">
        <attribute name="code" label="Branch code" type="long"/>
      </element>
    </srcSchema>
    

    nms:recipient 擴充架構中會填入擴充架構中填入的欄位:

    <schema dependingSchemas="cus:recipient" name="recipient" namespace="nms">
      ...
      <attribute belongsTo="cus:recipient" label="Branch code" name="code" sqlname="iCode" type="long"/>
      ...
    </schema>
    

    dependingSchemas 架構的根元素上的屬性會參照擴充功能架構上的相依性。

    屬於 欄位上的屬性會填入宣告該屬性的架構中。

重要

若要考慮修改,您需要重新產生結構。 有關詳細資訊,請參閱 重新生成結構 區段。
如果修改影響資料庫的結構,則需要運行更新。 有關詳細資訊,請參閱更新資料庫結構區段。

本頁內容