スキーマ キャッシュ

XML エディタはスキーマ キャッシュを提供します。このキャッシュは %InstallRoot%\Xml\Schemas ディレクトリに配置されています。スキーマ キャッシュはコンピュータ上のすべてのユーザーに対してグローバルで、IntelliSense と XML ドキュメントの検証に使用される標準的な XML スキーマを格納しています。

XML エディタは、ソリューション内のスキーマ、ドキュメントの [プロパティ] ウィンドウの [Schemas (スキーマ)] フィールドで指定されているスキーマ、および xsi:schemaLocation 属性や xsi:noNamespaceSchemaLocation 属性によって識別されるスキーマを検出することもできます。****

次の表では XML エディタと共にインストールされるスキーマについて説明します。

ファイル名 説明

catalog.xsd

XML エディタのスキーマ カタログ ファイル用のスキーマです。スキーマ カタログの詳細については、下記を参照してください。

DotNetConfig.xsd

Web.Config ファイル用のスキーマ (https://schemas.microsoft.com/.NETConfiguration/v2.0 (英語)) です。

msbuild.xsd

MSBuild メイク ファイル用のスキーマ (https://schemas.microsoft.com/developer/msbuild/2003 (英語)) です。

msdata.xsd

DataSet クラスによって追加される XSD 注釈用のスキーマ (urn:schemas-microsoft-com:xml-msdata) です。

msxsl.xsd

Microsoft XSLT スクリプト ブロック拡張用のスキーマ (urn:schemas-microsoft-com:xslt) です。

SnippetFormat.xsd

コード スニペットの XML ファイルのスキーマです。例については、%InstallDir%\VC#\Expansions を参照してください。

Soap1.1.xsd

簡易オブジェクト アクセス プロトコル (SOAP) 1.1 のスキーマ (https://schemas.xmlsoap.org/soap/envelope/ (英語)) です。

Soap1.2.xsd

簡易オブジェクト アクセス プロトコル 1.2 のスキーマです。

SiteMapSchema.xsd

ASP.NET のサイト マップ XML ファイル用のスキーマ (https://schemas.microsoft.com/AspNet/SiteMap-File-1.0 (英語)) です。

wsdl.xsd

Web サービス記述言語のスキーマ (https://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 ファイルは既定のカタログで、%InstallDir% に存在する他のスキーマへのリンクが含まれています。catalog.xml ファイルの例を次に示します。

<SchemaCatalog xmlns="https://schemas.microsoft.com/xsd/catalog">
  <Schema href="%InstallDir%/help/schemas/Favorites.xsd" targetNamespace="urn:Favorites-Schema"/>
  <Schema href="%InstallDir%/help/schemas/Links.xsd" targetNamespace="urn:Links-Schema"/>
  <Schema href="%InstallDir%/help/schemas/MyHelp.xsd" targetNamespace="urn:VSHelp-Schema"/>
</SchemaCatalog>

href 属性は、任意のファイル パスか、またはスキーマを指す http URL のいずれかになります。ファイル パスとして、カタログ ドキュメントを基準にした相対パスを使用できます。%% によって区切られる次の変数はエディタによって認識され、パス内で展開されます。

  • InstallDir

  • System

  • ProgramFiles

  • Programs

  • CommonProgramFiles

  • ApplicationData

  • CommonApplicationData

  • 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="%InstallDir%/xml/schemas/dotNetConfig.xsd"/>

ローカライズされたスキーマ

多くの場合、catalog.xml ファイルには、ローカライズされたスキーマのエントリは含まれません。ローカライズされたスキーマのディレクトリを指し示す追加のエントリを catalog.xml ファイルに追加できます。

次の例では、%LCID% 変数を使用してローカライズされたスキーマを指し示す新しい Schema 要素を作成します。

<Schema href="%InstallRoot%/Common7/IDE/Policy/Schemas/%LCID%/TDLSchema.xsd"
  targetNamespace="https://www.microsoft.com/schema/EnterpriseTemplates/TDLSchema"/>

スキーマ キャッシュの場所の変更

[その他] オプション ページを使用して、スキーマ キャッシュの場所をカスタマイズすることができます。****よく使用するスキーマのディレクトリがある場合は、それらのスキーマを代わりに使用するようにエディタを構成できます。

[!メモ]

この変更によって影響を受けるのは、現在の Visual Studio ユーザーのみです。

スキーマ キャッシュの場所を変更するには

  1. [ツール] メニューの [オプション]**** をクリックします。

  2. [テキスト エディタ] を展開し、[XML] を展開します。次に、[その他] をクリックします。****

  3. [スキーマ] フィールドの [参照] ボタンをクリックします。****

  4. スキーマ キャッシュのフォルダを選択し、[OK] をクリックします。****

よく使用するスキーマが存在するディレクトリを追加するには

  1. XML エディタのスキーマ キャッシュ ディレクトリにある catalog.xml ファイルを編集します。

  2. 追加するスキーマのディレクトリを指し示す新しい <Catalog href="…"/> 要素を追加します。

  3. 変更を保存します。

    カタログは自動的に再度読み込まれます。

参照

概念

XML エディタ