Кэш схемы
Редактор XML поддерживает кэш схем, расположенный в каталоге %VSInstallDir%\xml\Schemas. Этот кэш схем, общий для всех пользователей компьютера, содержит стандартные XML-схемы, используемые для поддержки технологии IntelliSense и проверки правильности XML-документов.
Редактор XML может также находить схемы, расположенные в решении, указанные в поле Схемы в окне Свойства в документе, и указанные в атрибутах xsi:schemaLocation
и xsi:noNamespaceSchemaLocation
.
В следующей таблице описываются схемы, которые устанавливаются вместе с редактором XML.
Имя файла | Description |
---|---|
catalog.xsd | Схема для файлов каталога схем редактора XML. Сведения о каталоге схем см. ниже. |
DotNetConfig.xsd | Схема для файлов Web.Config, http://schemas.microsoft.com/.NETConfiguration/v2.0 . |
msbuild.xsd | Схема для файлов сборки MSBuild, http://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. Примеры: %VSInstallDir%\VC#\Expansions. |
Soap1.1.xsd | Схема для протокола SOAP 1.1, http://schemas.xmlsoap.org/soap/envelope/ . |
Soap1.2.xsd | Схема для протокола SOAP 1.2. |
SiteMapSchema.xsd | Схема для XML-файла карты сайта ASP.NET, http://schemas.microsoft.com/AspNet/SiteMap-File-1.0 . |
wsdl.xsd | Схема для языка WSDL, 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
может представлять собой путь к любому файлу или URL-адрес по протоколу HTTP, указывающий на схему. Путь к файлу может быть указан относительно документа каталога. Следующие переменные, разделенные знаками %%, распознаются редактором и разворачиваются в значении пути:
VSInstallDir
Системные
ProgramFiles
Programs
CommonProgramFiles
ApplicationData
CommonApplicationData
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.
Изменение расположения кэша схем
В меню Сервис выберите Параметры.
Разверните пункт Текстовый редактор, затем XML, и выберите пункт Разное.
Нажмите кнопку Обзор для поля Схемы.
Выберите папку для кэша схем и щелкните ОК.
Добавление еще одного каталога часто используемых схем
Внесите изменения в файл catalog.xml в каталоге кэша схем для редактора XML.
Добавьте новый элемент
<Catalog href="..."/>
, указывающий на каталог дополнительных схем.Сохранение изменений.
Каталог будет автоматически перезагружен.