スキーマ キャッシュ
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
システム
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 ユーザーのみです。
スキーマ キャッシュの場所を変更するには
[ツール] メニューの [オプション] をクリックします。
[テキスト エディター] を展開し、[XML] を展開します。次に、[その他] をクリックします。
[スキーマ] フィールドの [参照] ボタンをクリックします。
スキーマ キャッシュのフォルダーを選択し、[OK] をクリックします。
よく使用するスキーマが存在するディレクトリを追加するには
XML エディターのスキーマ キャッシュ ディレクトリにある catalog.xml ファイルを編集します。
追加するスキーマのディレクトリを指し示す新しい <Catalog href=" "/> 要素を追加します。
変更内容を保存します。
カタログは自動的に再度読み込まれます。