コミュニティアチーブメントバーを展開する。

Submissions are now open for the 2026 Adobe Experience Maker Awards

Mark Solution

この会話は、活動がないためロックされています。新しい投稿を作成してください。

解決済み

Extend a Schema

Avatar

Level 3

How can I add an enumeration to the existing state field in the Delivery table. 

In a similar way how can I change the length of an existing field in the recipient(profile) table.  E.G. change length of first name from 30 to 50 characters? 

1 受け入れられたソリューション

Avatar

正解者
Level 6

Hello @davidm1708369 

You can use the schema extension, this is exacly what it does.

You have to create a new schema (usually, we use the same name, and a custom namespace, ex: nms:recipient => cus:recipient), with the specific attribute "extendedSchema" on the main "srcSchema" element. If you use the schema creation Wizard, you'll see the "Schema Extension" option that guide you for the creation.

<srcSchema entitySchema="xtk:srcSchema"
           extendedSchema="nms:recipient" name="recipient"
           namespace="cus" xtkschema="xtk:srcSchema">

  <enumeration basetype="byte" name="newEnum">
    <value label="Value 0" name="value0" value="0"/>
    <value label="Value 1" name="value1" value="1"/>
  </enumeration>

<element name="recipient">
<!-- New element/attribute creation-->
<attribute name="myNewAttribute" enum="newEnum" type="byte"/>

<!--Override existing attribute spec by targeting its name-->
<attribute length="50" name="firstName"/>
</element>

</srcSchema>

 That way you can also add values into an existing enumeration.

 

Cedric

元の投稿で解決策を見る

2 返信

Avatar

正解者
Level 6

Hello @davidm1708369 

You can use the schema extension, this is exacly what it does.

You have to create a new schema (usually, we use the same name, and a custom namespace, ex: nms:recipient => cus:recipient), with the specific attribute "extendedSchema" on the main "srcSchema" element. If you use the schema creation Wizard, you'll see the "Schema Extension" option that guide you for the creation.

<srcSchema entitySchema="xtk:srcSchema"
           extendedSchema="nms:recipient" name="recipient"
           namespace="cus" xtkschema="xtk:srcSchema">

  <enumeration basetype="byte" name="newEnum">
    <value label="Value 0" name="value0" value="0"/>
    <value label="Value 1" name="value1" value="1"/>
  </enumeration>

<element name="recipient">
<!-- New element/attribute creation-->
<attribute name="myNewAttribute" enum="newEnum" type="byte"/>

<!--Override existing attribute spec by targeting its name-->
<attribute length="50" name="firstName"/>
</element>

</srcSchema>

 That way you can also add values into an existing enumeration.

 

Cedric

Avatar

Level 3
Sorry I posted this in wrong area. This is actually an ACS question and I'll re-post