次の方法で共有


他のスキーマを使用したスキーマ

概要

スキーマが大きくなって複雑化した場合や、各種のインスタンス メッセージを表すスキーマに共通部分が存在する場合、より小さいスキーマを、取引先と交換するインスタンス メッセージの構造を最終的に定義するスキーマに結合することができます。 たとえば、発送先住所を内部的に保持する必要のある、複数のメッセージ タイプがあるとします。 この場合、発送先住所の構造を単一のスキーマで定義し、そのスキーマを他のスキーマ (発注、請求、出荷通知のメッセージ スキーマを定義するスキーマなど) で使用できます。

インポート、インクルード、再定義

XSD (XML Schema Definition) 言語には、BizTalk エディターがサポートする複数のスキーマをまとめて使用するためのメカニズムが 3 つあります。 次の表は、これらのメカニズムの特性をまとめたものです。

複数スキーマのメカニズム 使用シナリオ
[インポート] - インポートされたスキーマで定義されている型にアクセスし、使用します。
- インポートされたスキーマで型をそのまま使用するか、新しい型を派生させる必要があります。型の変更は許可されていません。
- 他の名前空間で定義されている型を使用するためのメカニズムを提供します。 インポートされるスキーマには、インポートするスキーマとは異なるターゲットの名前空間が存在する必要があります。
- import 要素とその 名前空間schemaLocation 属性を使用して、他のスキーマを参照します。
包含 - 含まれているスキーマで定義されている型にアクセスし、使用します。
- 含まれているスキーマで型をそのまま使用するか、新しい型を派生させる必要があります。型の変更は許可されていません。
- 含まれるスキーマは、インクルード スキーマと同じターゲット名前空間に存在する必要があります。または、含まれているスキーマのターゲット名前空間が空である必要があります。
- include 要素とその schemaLocation 属性を使用して、他のスキーマを参照します。
再定義 - 再定義されたスキーマで定義されている型にアクセスして使用します。
- 再定義されたスキーマで型をそのまま使用したり、新しい型を派生させたり、変更を指定したりできます。
- 再定義されたスキーマは、再定義するスキーマと同じターゲット名前空間に存在する必要があります。または、再定義されたスキーマのターゲット名前空間が空である必要があります。
- 再定義 要素とその schemaLocation 属性を使用して、他のスキーマを参照します。 型の再定義は、 再定義 要素で指定されます。 メモ: 再定義メカニズムの使用は高度な XSD 概念であり、使用する方法とタイミングを十分に理解した後にのみ使用する必要があります。

Note

インポート、インクルード、再定義のメカニズム間の相違点と類似点の詳細については、「 XSD Resources on the Web」に記載されているリファレンスを参照してください。

重要な詳細

あるスキーマ (Schema1) で定義された型を別のスキーマ (Schema2) で使用するには、Schema2 で Schema1 を参照する必要があります。 これを行うには、Schema2 の [スキーマ] ノードの Imports プロパティを使用します。 [インポート] プロパティ フィールドの省略記号 (...) ボタンをクリックすると、[インポート] ダイアログ ボックスが開きます。 [ 新しいスキーマのインポート] ドロップダウン リストで、[ XSD インポート]、[ XSD インクルード]、または [ XSD 再定義] を選択します。 次に、[ 追加 ] をクリックして [BizTalk の種類の選択 ] ダイアログ ボックスを開き、BizTalk プロジェクト内を参照して [ スキーマ 1] を選択します。

これらの手順の詳細については、「他の スキーマを使用するスキーマの作成」を参照してください。

[ インポート ] ダイアログ ボックスを使用して別のスキーマをインポート、含める、または再定義すると、1 つ以上の XSD 要素が インポートインクルード再定義 され、スキーマの XSD 表現 (適切な属性と属性値を含む) に追加されます。 さらに、 import 要素の場合は、他のスキーマの名前空間のプレフィックス宣言が スキーマ 要素に追加されます。

インポート/インクルード/再定義されたスキーマ内のすべてのグローバル型 ( ComplexTypesSimpleTypes、要素グループ、属性グループなど) は、元のスキーマがインポート、含まれる、または再定義されたスキーマ内で自動的に使用できます。 たとえば、インポート/インクルード/再定義されたスキーマで定義されたグローバル ComplexTypes は、インポート中のすべての Record ノード (スキーマを含む、または再定義する) の [データ構造の種類] プロパティのドロップダウン リストに追加されます。 このプロパティの詳細については、「 UI ガイダンスと開発者 API 名前空間リファレンス」を参照してください

参照

スキーマについて
他のスキーマを使用したスキーマの作成
他のノードまたは種類への参照の作成