Внутри моего веб-приложения я проверяю документы XML с использованием файлов xsd в качестве встроенных ресурсов, и это было легко с помощью assembly.GetManifestResourceStream(string)
.
Теперь мне нужно использовать элемент include
(мне действительно нужноredefine
, но ошибка, которую я получаю, та же самая, поэтому я расширяю сферу вопроса) внутри одного из моих xsd ссылается на другой встроенный xsd, так что я сделал:
добавить следующие строки в AssemblyInfo.cs проекта
[assembly: System.Web.UI.WebResource("TurniArc.xml.schema.ImportOperatoriParametri.xsd", "text/xml", PerformSubstitution = true)]
[assembly: System.Web.UI.WebResource("TurniArc.xml.schema.ProcessiInput.xsd", "text/xml", PerformSubstitution = true)]
изменил элемент include внутриImportOperatoriParametri.xsd "в это:
<xs:include schemaLocation="<% = WebResource("TurniArc.xml.schema.ProcessiInput.xsd") %>">
Этот метод работал, когда мне приходилось ссылаться на встроенное изображение из встроенного CSS.К сожалению, здесь это не так, потому что метод GetManifestResourceStream выдает исключение
'<', hexadecimal value 0x3C, is an invalid attribute character. Line 3, position 34.
Кажется, что атрибут «PerformSubstition» не был установлен, потому что он пытается прочитать атрибут schemaLocation как «обычный»строка.
Что я делаю не так?Спасибо