Я близок к достижению цели представлений модульного тестирования в проекте ASP.NET MVC 3.У меня есть вывод XML в виде строки, и я хочу проверить на соответствие стандартной схеме VoiceXML 2.1.Я скачал указанную схему с w3.org, но две проблемы:
- Проверка занимает несколько минут
- Я получаю сообщение об ошибке "ссылка на необъявленную группу моделей" http://www.w3.org/2001/vxml:audio'".
Я подозреваю, что причина в том, что основная схема ссылается на несколько включенных схем, которые извлекаются (или не извлекаются) через Интернет. В файле схемы я вижу следующее:
<xsd:include schemaLocation="vxml-datatypes.xsd"/>
<xsd:include schemaLocation="vxml-attribs.xsd"/>
<xsd:include schemaLocation="vxml-grammar-extension.xsd"/>
<xsd:include schemaLocation="vxml-synthesis-extension.xsd"/>
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
Я загружаю схему в моем модульном тесте следующим образом:
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add("http://www.w3.org/2001/vxml", "../../../IVRUnitTests/VoiceXML21Schema.xsd");
settings.ValidationType = ValidationType.Schema;
settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;
Я скачал включенные схемы, на которые есть ссылки в основной. Могу ли я также добавить их в свою коллекцию XmlReaderSettings.Schemas? Если да,Разве валидация не пойдет на их поиски в Интернете? Любой другой совет для валидации по такой сложной схеме?
PS Где лучшее место для размещения схемы в проекте модульного тестирования, чтобы она автоматически копировалась /ссылка где мне это нужно? "../../" вещь клуджи.