次の方法で共有


XSD 要素グループ

スキーマに特定の構造を使用すると、BizTalk マッパーで生成される XSLT (Extensible Stylesheet Language Transformations) にバリエーションが生じる場合があります。

その一例として、シーケンス、選択肢、または全要素グループを定義するスキーマをマップに含めるような場合が考えられます。 たとえば、 Choice Group ノードを含むスキーマを使用する場合、出力インスタンス メッセージに表示する Choice Group ノードの子を 2 つ以上必要とするマップを作成できます。 この場合、マップをコンパイルするときに、BizTalk マッパーから警告が表示されます。 この警告は、実行時の親ループにおける同一の繰り返し処理では、マッピングされた必須フィールドのいずれか 1 つしか、値が挿入されない可能性があることを伝えるものです。 BizTalk マッパーでは、マッピングのロジックに誤りがあることを示すエラー メッセージは生成されません。

他にも、次の条件が満たされた場合、XSLT にバリエーションが生じる可能性があります。

  • レコード A には、子 Field 要素 B があります

  • レコード A と子 Field 要素 B が 1 回発生します。

  • レコード A は、繰り返される 選択肢グループ の一部です。

    このような場合、BizTalk マッパーは、送信元レコードの複数のバリエーションを処理するための繰り返しロジックを含んだ XSLT を生成します。

Note

グループを含んだマッピングは、明示的に指定する必要があります。 たとえば、コピー先スキーマに子ノード A と B を含む Choice Group ノードが含まれている場合、親グループの同じイテレーションで同時に A と B を持つことは無効です。 BizTalk マッパーには、無効なマッピングの作成を回避するような機能はありません。 そのため、A と B が同時に現れることのできないような論理 Functoid を使用して、マッピングを設定する必要があります。

参照

マップ
BizTalk マッパーでのマップの作成