Include 要素のバインディング サポート
このトピックの対象は、レガシ テクノロジに特定されています。XML Web サービスと XML Web サービス クライアントは以下を使用して作成してください。 Windows Communication Foundation.
.NET Framework では、<include> 要素のバインディングを一部サポートしています。
<include> 要素からソース コードが生成されるとき、Xsd.exe は、schemaLocation 属性で指定された絶対ファイル システム パスとして、インクルードされた XSD ドキュメントを特定します。
説明
<include> 要素は、<import> 要素に似ています。どちらの要素も、ルート <schema> 要素の子として現れ、他の子の前に現れる必要があります。どちらも、通常は別の .xsd ファイルで定義された個別の <schema> 定義を使用します。次のとおり、重要な違いが 1 つあります。
<import>: namespace 属性で指定された個別の名前空間に、スキーマ定義および宣言をインポートします。
<include>: 既存の XML スキーマ定義用に targetNamespace として指定された同じ名前空間内に、追加のスキーマ定義および宣言をインクルードします。
<include> 要素を使用する XML スキーマ定義は、インクルードされた定義が直接現れる XML スキーマ定義と、構文上は同等です。
アセンブリ内の一連のクラスから XML スキーマ ドキュメントを生成すると、Xsd.exe は対象の名前空間ごとに .xsd ファイルを 1 つだけ作成します。つまり、ルート <schema> 要素の targetNamespace 属性に同じ値が設定された .xsd ファイルは、2 つありません。そのため、<include> 要素が生成されることはありません。開発者は常に、<include> 要素を使用して、生成された .xsd ファイルを手動で複数のファイルに分割できます。
XML スキーマ ドキュメントからソース コードを生成するとき、Xsd.exe は、<include> 要素を認識します。インクルードされた XSD ドキュメントは、追加の引数として Xsd.exe に渡さないでください。schemaLocation 属性を使用して指定します。属性値は、完全ファイル システム パスである必要があります。
次の例は、有効な schemaLocation 値を示しています。
<xsd:include schemaLocation="c:\\projectRoot\\source\\xsd\\included1.xsd" />
注 : |
---|
schemaLocation 属性が <import> 要素に現れるとき、Xsd.exe はこの属性を無視します。その代わり、インポートされるファイルは、追加のコマンド ライン引数として指定されます。「Import 要素のバインディング サポート」を参照してください。 |
使用可能な属性 | バインディング サポート |
---|---|
id |
Xsd.exe ユーティリティでは、一意な識別子を提供するための id 属性は無視されます。 |
schemaLocation |
前の説明を参照してください。 |
使用可能な親要素 : <schema>
使用可能な子要素 : <annotation>