一部の組み込みスキーマは、拡張できません。主に、次の設定が定義されているスキーマです。
dataSource="file" および mappingType="xmlFile".
次のスキーマは拡張できません。 xtk:entityBackupNew, xtk:entityBackupOriginal, xtk:entityOriginal, xtk:form, xtk:srcSchema, ncm:publishing, nl:monitoring, nms:calendar, nms:remoteTracking, nms:userAgentRules, xtk:builder, xtk:connections, xtk:dbInit, xtk:funcList, xtk:fusion, xtk: jst, xtk:navtree, xtk:queryDef, xtk:resourceMenu, xtk:schema, xtk:scriptContext, xtk:session, xtk:sqlSchema, xtk:strings.
このリストが完全なものではありません。
既存のスキーマを拡張するには、次の 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>
The nms:recipient 拡張スキーマには、拡張スキーマに入力されたフィールドが入力されます。
<schema dependingSchemas="cus:recipient" name="recipient" namespace="nms">
...
<attribute belongsTo="cus:recipient" label="Branch code" name="code" sqlname="iCode" type="long"/>
...
</schema>
The dependingSchemas スキーマのルート要素の属性は、拡張スキーマへの依存関係を参照します。
The belongsTo 属性をフィールドに設定すると、宣言されたスキーマに値が設定されます。