入れ子になった XML メッセージ エンベロープ
XML エンベロープを入れ子にすることによって、複雑なドキュメント構造を作成できます。 入れ子になった XML エンベロープには、柔軟型と正規型の 2 つの形態があります。 次の例は、柔軟型のエンベロープ ドキュメントを示しています。ドキュメントおよびエンベロープ (太字部分) が上位のエンベロープ内の同じレベルに出現しています。
<envelope1>
<document1/> <envelope2>
<document2/>
<document3/>
</envelope2> <document4/>
</envelope1>
次の例は、正規型のエンベロープ ドキュメントに準拠した、同様のインスタンス メッセージを示しています。すべてのドキュメントが最下位のエンベロープ内の同じレベルに出現しています。
<envelope1>
<envelope2>
<document1/>
<document2/>
<document3/>
<document4/>
</envelope2>
</envelope1>
XML 逆アセンブラーは、前述の 2 つの形態のインスタンス メッセージを受け取ると、いずれも document1、document2、document3、および document4 を生成します。 各ドキュメントのメッセージ コンテキストには、対応するドキュメントから昇格されたプロパティのほかに、上位の各エンベロープ内で昇格されたプロパティが含まれます。 次の表は、昇格されるプロパティを示しています。これらのプロパティは、柔軟型および正規型の例で、各エンベロープおよびドキュメントの最初の列で指定されたプロパティ昇格に基づき、ラップ解除された各ドキュメントのメッセージ コンテキストに追加されます。
指定されたプロパティ昇格 | 結果のメッセージ コンテキスト プロパティ (柔軟型の例) | 結果のメッセージ コンテキスト プロパティ (正規型の例) |
---|---|---|
envelope1: p1 envelope2: p3 document1: p2 document2: p4 および p5 document3: プロモーションなし document4: プロモーションなし |
document1: p1、p2 document2: p1、p3、p4、p5 document3: p1、p3 document4: p1 |
document1: p1、p2、p3 document2: p1、p3、p4、p5 document3: p1、p3 document4: p1、p3 |