Я только что свернул пользовательский раздел конфигурации, создал сопроводительный документ схемы для Intellisense и добавил его в свойство Schemas Web.config согласно ответу Майкла Стума на другой похожий вопрос.
К сожалению, и, возможно, из-за того, что я вручную создал XSD с ограниченными знаниями, Intellisense опирается на атрибут xmlns
, указывающий на пространство имен моего XSD-файла, присутствующее в пользовательском элементе конфигурации. Однако при запуске проекта я получаю нераспознанный атрибут 'xmlns'. Обратите внимание, что имена атрибутов чувствительны к регистру error.
Возможно, я мог бы просто изменить свой XSD-файл, чтобы определить атрибут xmlns
для этого элемента, однако мне интересно, не является ли это просто исправлением проблемы с более крупной проблемой. Я должен признаться, что не очень хорошо разбираюсь в пространствах имен XML, так что это может быть возможностью уточнить меня в нескольких вещах.
Вот атрибуты для корневого элемента моего XSD-файла xs:schema
:
<xs:schema id="awesomeConfig"
targetNamespace="http://awesome.com/schemas"
xmlns="http://awesome.com/schemas"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
...
</xs:schema>
А при создании элемента в файле Web.config Visual Studio 2008 автоматически добавляет:
<awesomeConfig xmlns="http://awesome.com/schemas"></awesomeConfig>
Так я вообще неправильно понял значение атрибутов xs:schema
, или правильное решение так просто, как кажется?