次の方法で共有


カタログに対するフラット スキーマ

概要

ループ 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 の使用を示すマップ。
ループ Functoid (フラット スキーマ マップ)

スキーマを設定する

このタイプのマップを正しく動作させるためには、次の作業を行う必要があります。

  • コピー先スキーマの [名前 ] フィールドに接続する各リンクについて、名前をコピーするソース スキーマ のリンク プロパティを設定します。 詳細については、「 リンクの構成」を参照してください。 UI ガイダンスと開発者 API 名前空間リファレンス「リンク プロパティ」も参照してください。

  • コピー先スキーマの [値 ] フィールドに接続する各リンクについて、値をコピーするようにソース スキーマ リンク プロパティを設定します (既定値)。

  • Looping Functoid をリンク先スキーマの Feature という名前のレコードに接続するリンクの場合は、リンクのトップダウンと一致するように宛先スキーマ のリンク プロパティを設定します。

    このマッピングの逆関数、カタログ スキーマをフラット スキーマに変換する方法については、「 値マッピング (フラット化) Functoid」を参照してください。

参照

マップにループ Functoid を追加する方法
ループ Functoid
値のマッピング (フラット化) Functoid