Import 要素のバインディング サポート

.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 という名前になります。

Noteメモ :

schemaLocation 属性が <include> 要素に現れる場合は、Xsd.exe はこの属性を使用します。XML スキーマ ドキュメントからソース コードを生成するとき、Xsd.exe はこの値の絶対ファイル システム パスを認識します。詳細については、「Include 要素のバインディング サポート」を参照してください。

Namespace 属性

namespace 属性は、インポートされる対象の名前空間を指定するために使用されます。この名前空間は、インポートを実行している XSD ドキュメント (<import> 要素を含む XSD ドキュメント) の対象の名前空間とは異なる必要があります。

XML スキーマ ドキュメントからソース コードを生成するとき、Xsd.exe は、インポートするエンティティに対応する各型または各フィールドに適用される .NET Framework 属性に Namespace プロパティを設定します。他にインポートされる名前空間が存在しない場合でも、Xsd.exe は次の 2 つの属性の Namespace プロパティに、元の XSD ドキュメントの対象の名前空間のプロパティを設定します。

インポートされる名前空間は、特定の XML 関連属性クラスの Namespace プロパティによって指定されます。このプロパティは、次のように現れます。

使用可能な属性 バインディング サポート

id

Xsd.exe ユーティリティでは、一意な識別子を提供するための id 属性は無視されます。

namespace

前の「Namespace Attribute」セクションを参照してください。

schemaLocation

前の「SchemaLocation Attribute」セクションを参照してください。

使用可能な親要素 : <schema>

使用可能な子要素 : <annotation>

関連項目

参照

XmlSchemaImport

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.