複合グローバル型の定義と名前付け
BizTalk エディターで複合グローバル型を定義する場合、グローバル型を使用する場所のいずれかで最初に出現する複合型を定義してから、これをグローバル型に変換します。 たとえば住所の場合、スキーマ内の発送先住所を定義するときは、複合型の住所を定義します。
複合型を定義してから、型名を付けて、これを複合グローバル型に変換できます。 これを行うには、複合型に対応するノード (通常は Record ノード) を選択し、そのノードの [データ構造の種類] プロパティに新しい型名を入力します。 このプロパティに名前 (次の例のように GlobalAddrType など) を指定しても、スキーマ ツリーに目に見える変更は発生しませんが、スキーマの基になる XSD 表現内で何が起こるかを調べると、次の (省略形の) 変更が表示されます。
以前は、 ShippingAddress 要素のコンテキスト内でアドレス構造が最初に定義された状態で、次の処理が行われました。
<xs:schema>
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element name="ShippingAddress">
[address structure initially defined here.]
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
ShippingAddress ノードの Data Structure Type プロパティに一意の名前が付けられた後、複合グローバル型として使用できるようになり、スキーマ内の複数の場所で再利用される可能性があるため、次の処理が行われます。
<xs:schema>
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element name="ShippingAddress" type="GlobalAddrType" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="GlobalAddrType">
[address structure now defined globally here.]
</xs:complexType>
</xs:schema>