Я просто обнаружил красоту автоматического поколения схемы XSD Visual Studio.*
Существует ли простой способ иметь VS, автоматически присоединяют файлы с конкретными именами к существующей схеме XSD? Таким образом, если я имею myconfig.xml
файлы рассеялись в течение проекта (или несколько проектов), я хотел бы, чтобы они всегда проверили против myconfig.xsd
, вместо того, чтобы должными быть открывать каждый XML-файл и связывать его вручную. Действительно ли это возможно?
* Для тех, кто не знаком: Открытый XML-файл, Схема XML/Create, и это создает хороший файл схемы на основе того, что это видит в Вашем XML-файле. Можно затем присоединить тот же XSD к другому XML-файлу путем открытия того файла и выбрать XML/Schemas и выбор соответствующей схемы из проекта. Вы затем получаете intellisense и проверку на всем Вашем элементе и названиях атрибута, требуемых элементах и атрибутах, и т.д.
Обновление: Я думаю, что не был действительно ясен.
Когда я создаю новое web.config
зарегистрируйте где угодно в проекте, я вручную не присваиваю схему ему. Нет никакого пространства имен, указанного в XML. Тем не менее, Visual Studio автоматически знает для использования DotNetConfig.xsd
:
По-видимому, Visual Studio имеет отображение где-нибудь, которое присваивает названные файлы web.config
кому: DotNetConfig.xsd
.
Теперь, предположите, что я хочу все названные файлы DbSchema.xml
для автоматического использования схемы, я создал названный DbSchema.xsd
. Существует ли способ сделать это?
Любой тег внутри любого XML-документа может содержать ссылку на схему.
См. примеры в этом разделе: http://msdn.microsoft.com/en-us/library/ms757863(VS.85).aspx
Если ваши схемы находятся в том же рабочем пространстве (не обязательно проектном), что и ваши XML-файлы, Visual Studio будет автоматически использовать их для автозавершения и проверки, если у ваших файлов есть объявление пространства имен.
Вам даже не нужно вводить атрибут schemaLocation.
Попробуйте следующее:
Чтобы проверить, работает ли это, попробуйте поместить куда-нибудь открытую угловую скобку, в ней должны быть предложены имена элементов.
Редактирование: это также будет работать с XML файлами без пространств имен, но тогда вам, вероятно, придется добавить новый каталог схем в %Install%\Xml\Schemas, как описано здесь. Внизу описывается, как использовать элемент "Ассоциация" для ассоциирования схем по расширениям
.