複合グローバル型の再利用
複雑なグローバル型をそのまま使用するには、スキーマ ツリー内の別の場所で、最初に新しい Record ノードを目的の場所に挿入します。 次に、その データ構造型 プロパティを複合グローバル型の名前に設定します。
次の例では、 BillingAddress は新しく挿入された Record ノードの名前で、 GlobalAddrType は採用する複合グローバル型の名前です。 スキーマ ツリー ビューでは、 BillingAddress という名前のノードの下に、 ShippingAddress という名前のノードの下にある隣接するノード構造と同じ重複するノード構造が表示されます。
以前は、 BillingAddress という名前の新しく挿入されたノードを使用します。
<xs:schema> <xs:element name="Root"> <xs:complexType> <xs:sequence> <xs:element name="ShippingAddress" type="GlobalAddrType" /> <xs:element name="BillingAddress"> <xs:sequence /> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="GlobalAddrType"> [Address structure defined globally here.] </xs:complexType> </xs:schema>
複合基本型 GlobalAddrType をそのまま使用した後。
<xs:schema> <xs:element name="Root"> <xs:complexType> <xs:sequence> <xs:element name="ShippingAddress" type="GlobalAddrType" /> <xs:element name="BillingAddress" type="GlobalAddrType" /> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="GlobalAddrType"> [Address structure defined globally here.] </xs:complexType> </xs:schema>