カタログに対するフラット スキーマ
概要
ループ functoid を 使用すると、1 つのレコードを複数のレコードにマッピングすることで、フラット スキーマを階層スキーマに変換できます。 これは、フラット スキーマを Microsoft Commerce Server カタログに変換する場合の一般的な操作です。
次のコードは、商品カタログの一部を示しています。ここでは、個々の商品バリエーションが単独のレコードとして列挙されています。
<ns0:Root xmlns:ns0="http://ValueMappingFlattening.FlatCatalog">
<ProductVariant ListPrice="99.99" ID="45-01" Material="Leather" Color="Black" />
<ProductVariant ListPrice="69.99" ID="45-02" Material="Vinyl" Color="Brown" />
</ns0:Root>
カタログのこの部分を展開すると、 ProductVariant 属性の一部またはすべてをレコードに変換します。
<ns0:Root xmlns:ns0="http://ValueMappingFlattening.Catalog">
<ProductVariant ListPrice="99.99" ID="45-01">
<Feature Name="Material" Value="Leather"/>
<Feature Name="Color" Value="Black"/>
</ProductVariant>
<ProductVariant ListPrice="69.99" ID="45-02">
<Feature Name="Material" Value="Vinyl"/>
<Feature Name="Color" Value="Brown"/>
</ProductVariant>
</ns0:Root>
次の図は、この変換を実行するためのマップを示しています。
ループ Functoid (フラット スキーマ マップ)
スキーマを設定する
このタイプのマップを正しく動作させるためには、次の作業を行う必要があります。
コピー先スキーマの [名前 ] フィールドに接続する各リンクについて、名前をコピーするソース スキーマ のリンク プロパティを設定します。 詳細については、「 リンクの構成」を参照してください。 UI ガイダンスと開発者 API 名前空間リファレンスの「リンク プロパティ」も参照してください。
コピー先スキーマの [値 ] フィールドに接続する各リンクについて、値をコピーするようにソース スキーマ リンク プロパティを設定します (既定値)。
Looping Functoid をリンク先スキーマの Feature という名前のレコードに接続するリンクの場合は、リンクのトップダウンと一致するように宛先スキーマ のリンク プロパティを設定します。
このマッピングの逆関数、カタログ スキーマをフラット スキーマに変換する方法については、「 値マッピング (フラット化) Functoid」を参照してください。
参照
マップにループ Functoid を追加する方法
ループ Functoid
値のマッピング (フラット化) Functoid