Import 要素のバインディング サポート
このトピックの対象は、レガシ テクノロジに特定されています。XML Web サービスと XML Web サービス クライアントは以下を使用して作成してください。 Windows Communication Foundation.
.NET Framework では、<import> 要素のバインディングを一部サポートしています。
<import> 要素の場合、Xsd.exe ツールは schemaLocation 属性を無視し、インポートするファイルはコマンド ライン引数に追加されていると仮定します。
説明
<import> 要素は、<include> 要素に似ています。どちらの要素も、ルート <schema> 要素の子として、他の子の前に現れる必要があります。どちらも、通常は別の .xsd ファイルで定義された個別の <schema> 定義を使用します。次のとおり、重要な違いが 1 つあります。
<import>: namespace 属性で指定された独立した名前空間に、スキーマ定義および宣言をインポートします。
<include>: 既存の XML スキーマ定義用に targetNamespace として指定された同じ名前空間内に、追加のスキーマ定義および宣言をインクルードします。
<import> 要素の使用例を次に示します。
<xsd:import namespace="http://example.org/attr" schemaLocation="http://example.org/definitions/attr.xsd" />
SchemaLocation 属性
schemaLocation 属性は、インポートする .xsd ファイルの場所を指定します。ただし、schemaLocation 属性が <import> 要素に現れる場合、Xsd.exe はこの属性を無視します。代わりに、インポートするファイルを追加のコマンド ライン引数として指定します。
生成されるソース ファイルには、引数として渡された .xsd ファイルのうち、最後のファイルの名前が付けられます。コマンド ラインで Xsd.exe を呼び出す例を次に示します。
xsd importedAttribute.xsd attributeRef.xsd /classes /language:CS
生成されるソース ファイルは、attributeRef.cs という名前になります。
注 : |
---|
schemaLocation 属性が <include> 要素に現れる場合は、Xsd.exe はこの属性を使用します。XML スキーマ ドキュメントからソース コードを生成するとき、Xsd.exe はこの値の絶対ファイル システム パスを認識します。詳細については、次のトピックを参照してください。「Include 要素のバインディング サポート」を参照してください。 |
Namespace 属性
namespace 属性は、インポートされる対象の名前空間を指定するために使用されます。この名前空間は、インポートを実行している XSD ドキュメント (<import> 要素を含む XSD ドキュメント) の対象の名前空間とは異なる必要があります。
XML スキーマ ドキュメントからソース コードを生成するとき、Xsd.exe は、インポートするエンティティに対応する各型または各フィールドに適用される .NET Framework 属性に Namespace プロパティを設定します。他にインポートされる名前空間が存在しない場合でも、Xsd.exe は次の 2 つの属性の Namespace プロパティに、元の XSD ドキュメントの対象の名前空間のプロパティを設定します。
XmlTypeAttribute: スキーマに何らかのデータ型定義が存在する場合。
インポートされる名前空間は、特定の XML 関連属性クラスの Namespace プロパティによって指定されます。このプロパティは、次のように現れます。
使用可能な属性 | バインディング サポート |
---|---|
id |
Xsd.exe ユーティリティでは、一意な識別子を提供するための id 属性は無視されます。 |
namespace |
前の「Namespace Attribute」セクションを参照してください。 |
schemaLocation |
前の「SchemaLocation Attribute」セクションを参照してください。 |
使用可能な親要素 : <schema>
使用可能な子要素 : <annotation>