スキーマの拡張

重要

一部の組み込みスキーマは拡張できません。主に、次の設定が定義されているものです。
dataSource="file" および mappingType="xmlFile"​を参照してください。
次のスキーマは拡張できません。xtk:entityBackupNewxtk:entityBackupOriginalxtk:entityOriginalxtk:formxtk:srcSchemancm:publishingnl:monitoringnms:calendarnms:remoteTrackingnms:userAgentRules 19/>, xtk:builder, xtk:connections, xtk:dbInit, xtk:funcList, xtk:fusion, xtk:, xtk:navtree, xtk:queryDef, xtk:resourceMenu, xtk:schema, xtk:scriptContext, xtk:session, xtk:sqlSchema, xtk:strings.
このリストは完全なものではありません。

既存のスキーマを拡張するには、次の2つの方法があります。

  1. ソーススキーマを直接変更する。

  2. 同じ名前で異なる名前空間を持つ別のスキーマを作成する。 利点は、元のスキーマを変更する必要なくテーブルを拡張できることです。

    スキーマのルート要素には、拡張するスキーマの名前を値として持つ​extendedSchema​属性が含まれている必要があります。

    拡張機能スキーマには、独自のスキーマはありません。ソーススキーマから生成されたスキーマは、拡張スキーマのフィールドで入力されます。

    重要

    アプリケーションの組み込みスキーマではなく、スキーマ拡張メカニズムを変更することはできません。 標準スキーマを変更すると、今後アプリケーションのアップグレード時にスキーマが更新されなくなり、これは、Adobe Campaignの使用に誤作動を引き起こす可能性があります。

    : nms: recipientschemaの拡張。

    <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​属性は、拡張スキーマの依存関係を参照します。

    フィールドの​bengsTo​属性が、宣言先のスキーマを設定します。

重要

変更を考慮するには、スキーマを再生成する必要があります。 詳しくは、スキーマの再生成の節を参照してください。
変更がデータベースの構造に影響を与える場合は、更新を実行する必要があります。 詳しくは、データベース構造の更新の節を参照してください。

このページ