Кэш схем
XML Editor предоставляет кэш схем, расположенный в каталоге %InstallRoot%\Xml\Schemas. Кэш схем — общий для всех пользователей компьютера и включает стандартные XML-схемы, используемые для поддержки технологии IntelliSense и проверки правильности XML-документа.
Редактор XML может также находить схемы, расположенные в решении, схемы, указанные в поле Схемы окна Свойства документа, и схемы, на которые указывают атрибуты xsi:schemaLocation
и xsi:noNamespaceSchemaLocation
.
В следующей таблице приведены схемы, установленные редактором XML Editor.
Имя файла | Описание |
---|---|
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 |
Схема для XSD-аннотаций, добавленных классом DataSet, «urn:schemas-microsoft-com:xml-msdata». |
msxsl.xsd |
Схема для расширений блоков скриптов 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 |
Схема для протокола SOAP 1.2. |
SiteMapSchema.xsd |
Схема для XML-файла карты узла ASP.NET, «https://schemas.microsoft.com/AspNet/SiteMap-File-1.0». |
wsdl.xsd |
Схема для языка описания веб-служб (WSDL), 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
может представлять собой путь к любому файлу или URL-адрес по протоколу HTTP, указывающий на схему. Путь к файлу может быть указан относительно документа каталога. Следующие переменные, разделенные знаками %%, распознаются редактором и разворачиваются в обозначение пути:
InstallDir
System
ProgramFiles
Programs
CommonProgramFiles
ApplicationData
CommonApplicationData
LCID
Документ каталога может включать элемент Catalog
, указывающий на другие каталоги. Можно использовать элемент Catalog
для указания центрального каталога, совместно используемого группой сотрудников или всем предприятием, или сетевого каталога, используемого совместно с бизнес-партнерами. Атрибут href
представляет собой путь к файлу или URL-адрес по протоколу HTTP, указывающий на другие каталоги. Ниже приведен пример элемента Catalog
:
<Catalog href="file://c:/xcbl/xcblCatalog.xml"/>
Каталог также может управлять связыванием схем с XML-документами с помощью специального элемента Association
. Этот элемент связывает схемы без целевого пространства имен с определенным расширением имен файлов, что может быть полезно, так как XML Editor не выполняет автоматическое связывание схем, не содержащих атрибута targetNamespace
. В следующем примере элемент Association
связывает схему dotNetConfig со всеми файлами, имеющими расширение CONFIG:
<Association extension="config" schema="%InstallDir%/xml/schemas/dotNetConfig.xsd"/>
Локализованные схемы
Зачастую в файле catalog.xml нет записей для локализованных схем. Можно добавить дополнительные записи в файл catalog.xml, указывающие на каталог локализованных схем.
В следующем примере создается новый элемент Schema
с переменной %LCID%, указывающей на локализованную схему.
<Schema href="%InstallRoot%/Common7/IDE/Policy/Schemas/%LCID%/TDLSchema.xsd"
targetNamespace="https://www.microsoft.com/schema/EnterpriseTemplates/TDLSchema"/>
Изменение местоположения кэша схем
Можно настроить расположение кэша схем с помощью страницы параметров Разное. Если имеется каталог с избранными схемами, можно настроить редактор на использование этих схем.
Примечание
Это изменение влияет только на работу текущего пользователя Visual Studio.
Изменение расположения кэша схем
В меню Сервис выберите Параметры.
Разверните пункт Текстовый редактор, затем XML, и выберите пункт Разное.
Нажмите кнопку Обзор в поле Схемы.
Выберите папку для кэша схем и нажмите кнопку ОК.
Добавление еще одного каталога часто используемых схем
Внесите изменения в файл catalog.xml в каталоге кэша схем редактора XML.
Добавьте новый элемент
<Catalog href="…"/>
, указывающий на каталог дополнительных схем.Сохраните изменения.
Каталог будет автоматически перезагружен.