Поделиться через


Кэш схем

Редактор XML предоставляет кэш схемы, расположенный в каталоге %VSInstallDir%\xml\Schemas . Кэш схемы является глобальным для всех пользователей на компьютере и включает стандартные XML-схемы, используемые для проверки документов IntelliSense и 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 files, http://schemas.microsoft.com/developer/msbuild/2003.
msdata.xsd Схема для аннотаций XSD, добавленных классом DataSet, "urn:schemas-microsoft-com:xml-msdata".
msxsl.xsd Схема расширений блоков скриптов Microsoft XSLT, urn:schemas-microsoft-com:xslt.
SnippetFormat.xsd Схема XML-файлов фрагмента кода. Примеры см. в разделе%VSInstallDir%\VC#\Расширения.
Soap1.1.xsd Схема простого протокола доступа к объектам (SOAP) 1.1, http://schemas.xmlsoap.org/soap/envelope/.
Soap1.2.xsd Схема для протокола простого доступа к объектам 1.2.
SiteMapSchema.xsd Схема XML-файла http://schemas.microsoft.com/AspNet/SiteMap-File-1.0карты сайта ASP.NET.
wsdl.xsd Схема языка описания 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 Схема, описывающая атрибуты http://www.w3.org/XML/1998/namespacexml:space и xml:lang.
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 может быть любым путем к файлу или URL-адресом HTTP, указывающим на схему. Путь к файлу может быть относительным к документу каталога. Следующие переменные, разделенные %%, распознаются редактором и расширяются в пути:

  • VSInstallDir

  • Система

  • ProgramFiles

  • Программы

  • CommonProgramFiles

  • Данные приложения

  • Общие данные приложения

  • LCID

Документ каталога может содержать элемент, указывающий Catalog на другие каталоги. Элемент можно использовать Catalog для указания центрального каталога, доступного вашей команде или компании, или интернет-каталога, к которым предоставлен доступ вашим бизнес-партнерам. Атрибут href — это путь к файлу или URL-адрес HTTP для других каталогов. Ниже приведен пример Catalog элемента:

<Catalog href="file://c:/xcbl/xcblCatalog.xml"/>

Каталог также может управлять тем, как схемы связаны с XML-документами с помощью специального Association элемента. Этот элемент связывает схемы без целевого пространства имен с определенным расширением файла, что может быть полезно, так как редактор XML не выполняет автоматическую связь схем, не имеющих targetNamespace атрибута. В следующем примере Association элемент связывает схему dotNetConfig со всеми файлами с расширением файла "config":

<Association extension="config" schema="%VSInstallDir%/xml/schemas/dotNetConfig.xsd"/>

Локализованные схемы

Во многих случаях файл catalog.xml не содержит записей для локализованных схем. Дополнительные записи можно добавить в файл catalog.xml , указывающий на локализованный каталог схемы.

В следующем примере был создан новый Schema элемент, использующий переменную %LCID% для указания локализованной схемы.

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

Изменение расположения кэша схемы

Расположение кэша схем можно настроить с помощью страницы "Прочие параметры". Если у вас есть каталог избранных схем, редактор можно настроить для использования этих схем.

Замечание

Это изменение влияет только на текущего пользователя Visual Studio.

Изменение расположения кэша схемы

  1. В меню Сервис выберите Параметры.

  2. Разверните текстовый редактор, разверните XML и щелкните "Прочие".

  3. Нажмите кнопку "Обзор " в поле "Схемы ".

  4. Выберите папку для кэша схемы и нажмите кнопку "ОК".

Добавление другого каталога распространенных схем

  1. Измените файлcatalog.xml в каталоге кэша схемы редактора XML.

  2. Добавьте новый <Catalog href="..."/> элемент, указывающий на каталог дополнительных схем.

  3. Сохраните ваши изменения.

    Каталог автоматически перезагрузится.