XML エディターは、 %VSInstallDir%\xml\Schemas ディレクトリにあるスキーマ キャッシュを提供します。 スキーマ キャッシュは、コンピューター上のすべてのユーザーに対してグローバルであり、IntelliSense と XML ドキュメントの検証に使用される標準の XML スキーマが含まれています。
XML エディターでは、ソリューション内のスキーマ、ドキュメントの [プロパティ] ウィンドウの [スキーマ] フィールドで指定されたスキーマ、およびxsi:schemaLocation属性とxsi:noNamespaceSchemaLocation属性によって識別されるスキーマを検索することもできます。
次の表では、XML エディターと共にインストールされるスキーマについて説明します。
| Filename | Description |
|---|---|
| catalog.xsd | XML 編集用スキーマカタログファイルのスキーマ。 スキーマ カタログの詳細については、以下を参照してください。 |
| DotNetConfig.xsd | Web.Config ファイルのスキーマ、 http://schemas.microsoft.com/.NETConfiguration/v2.0。 |
| msbuild.xsd | MSBuild make ファイルのスキーマ、 http://schemas.microsoft.com/developer/msbuild/2003。 |
| msdata.xsd | DataSet クラス "urn:schemas-microsoft-com:xml-msdata" によって追加された XSD 注釈のスキーマ。 |
| msxsl.xsd | Microsoft XSLT スクリプト ブロック拡張機能のスキーマ、urn:schemas-microsoft-com:xslt。 |
| SnippetFormat.xsd | コード スニペット XML ファイルのスキーマ。 例については、 \VC#\Expansions%VSInstallDir% を参照してください。 |
| Soap1.1.xsd | 簡易オブジェクト アクセス プロトコル (SOAP) 1.1 のスキーマ、 http://schemas.xmlsoap.org/soap/envelope/。 |
| Soap1.2.xsd | Simple Object Access Protocol 1.2 のスキーマ。 |
| SiteMapSchema.xsd | ASP.NET のサイトマップ XML ファイルのスキーマ、http://schemas.microsoft.com/AspNet/SiteMap-File-1.0。 |
| wsdl.xsd | Web サービス記述言語のスキーマ、 http://schemas.xmlsoap.org/wsdl/。 |
| xenc.xsd | XML 暗号化のスキーマ、 http://www.w3.org/2000/09/xmldsig#。 |
| xhtml.xsd | XHTML http://www.w3.org/1999/xhtmlのスキーマ。 |
| xlink.xsd | XLink1.0 のスキーマ、 http://www.w3.org/1999/xlink。 |
| xml.xsd | xml:space 属性と xml:lang 属性を記述するスキーマ、 http://www.w3.org/XML/1998/namespace。 |
| xmlsig.xsd | XML デジタル署名のスキーマ、 http://www.w3.org/2000/09/xmldsig#。 |
| xsdschema.xsd | XSD 自体を記述するスキーマ、 http://www.w3.org/2001/XMLSchema。 |
| xslt.xsd | XML 変換のスキーマ、 http://www.w3.org/1999/XSL/Transform。 |
キャッシュ内のスキーマを更新する
XML エディター パッケージが読み込まれると、エディターによってスキーマ キャッシュ ディレクトリが読み込まれ、実行中に変更が監視されます。 スキーマが追加されると、既知のスキーマのメモリ内インデックスに自動的に読み込まれます。 スキーマが削除された場合は、メモリ内インデックスから自動的に削除されます。 スキーマが更新されると、このスキーマのメモリ内キャッシュが自動的に無効になります。
注
スキーマ キャッシュ ディレクトリはコンピューターに対してグローバルであるため、ここでは、コンピューター上に作成できるすべての Visual Studio プロジェクトに対して標準で役立つスキーマのみを追加する必要があります。
XML エディターでは、スキーマ キャッシュ ディレクトリ内の任意の数のスキーマ カタログ ファイルもサポートされます。 スキーマ カタログは、エディターで常に知りたいスキーマの他の場所を指すことができます。 catalog.xsd ファイルは、カタログ ファイルの形式を定義し、スキーマ キャッシュ ディレクトリに含まれています。 catalog.xml ファイルは既定のカタログであり、%VSInstallDir%内の他のスキーマへのリンクが含まれています。 catalog.xml ファイルのサンプリングを次に示します。
<SchemaCatalog xmlns="http://schemas.microsoft.com/xsd/catalog">
<Schema href="%VSInstallDir%/help/schemas/Favorites.xsd" targetNamespace="urn:Favorites-Schema"/>
<Schema href="%VSInstallDir%/help/schemas/Links.xsd" targetNamespace="urn:Links-Schema"/>
<Schema href="%VSInstallDir%/help/schemas/MyHelp.xsd" targetNamespace="urn:VSHelp-Schema"/>
</SchemaCatalog>
href属性には、スキーマを指す任意のファイル パスまたは http URL を指定できます。 ファイル パスは、カタログ ドキュメントに対する相対パスにすることができます。 次の変数は、%%で区切られ、エディターによって認識され、パス内で展開されます。
VSInstallDir
System
ProgramFiles
プログラム
CommonProgramFiles
ApplicationData
共通アプリケーションデータ
LCID
カタログ ドキュメントには、他のカタログを指す Catalog 要素を含めることができます。
Catalog要素を使用して、チームまたは会社が共有する中央カタログ、またはビジネス パートナーと共有するオンライン カタログを指すことができます。
href属性は、他のカタログのファイル パスまたは http URL です。
Catalog要素の例を次に示します。
<Catalog href="file://c:/xcbl/xcblCatalog.xml"/>
カタログでは、特殊な Association 要素を使用して、XML ドキュメントにスキーマを関連付ける方法を制御することもできます。 この要素は、ターゲット名前空間を持たないスキーマを特定のファイル拡張子に関連付けます。これは、XML エディターが targetNamespace 属性を持たないスキーマの自動関連付けを行わないので便利です。 次の例では、 Association 要素は dotNetConfig スキーマを、"config" ファイル拡張子を持つすべてのファイルに関連付けます。
<Association extension="config" schema="%VSInstallDir%/xml/schemas/dotNetConfig.xsd"/>
ローカライズされたスキーマ
多くの場合、 catalog.xml ファイルにはローカライズされたスキーマのエントリが含まれていません。 ローカライズされたスキーマ ディレクトリを指す catalog.xml ファイルにエントリを追加できます。
次の例では、%LCID% 変数を使用してローカライズされたスキーマを指す新しい Schema 要素が作成されています。
<Schema href="%InstallRoot%/Common7/IDE/Policy/Schemas/%LCID%/TDLSchema.xsd"
targetNamespace="http://www.microsoft.com/schema/EnterpriseTemplates/TDLSchema"/>
スキーマ キャッシュの場所を変更する
[ その他 のオプション] ページを使用して、スキーマ キャッシュの場所をカスタマイズできます。 お気に入りのスキーマのディレクトリがある場合は、代わりにこれらのスキーマを使用するようにエディターを構成できます。
注
この変更は、現在の Visual Studio ユーザーにのみ影響します。
スキーマ キャッシュの場所を変更するには
[ツール] メニューの [オプション] をクリックします。
[ テキスト エディター] を展開し、[ XML] を展開して、[ その他] をクリックします。
[スキーマ] フィールドの [ 参照 ] ボタン を クリックします。
スキーマ キャッシュのフォルダーを選択し、[ OK] をクリックします。
共通スキーマの別のディレクトリを追加するには
XML エディター スキーマ キャッシュ ディレクトリの catalog.xml ファイルを編集します。
追加のスキーマのディレクトリを指す新しい
<Catalog href="..."/>要素を追加します。変更を保存します。
カタログは自動的に再読み込みされます。