Сложные проблемы проверки схемы - PullRequest
1 голос
/ 14 октября 2011

Я близок к достижению цели представлений модульного тестирования в проекте ASP.NET MVC 3.У меня есть вывод XML в виде строки, и я хочу проверить на соответствие стандартной схеме VoiceXML 2.1.Я скачал указанную схему с w3.org, но две проблемы:

  1. Проверка занимает несколько минут
  2. Я получаю сообщение об ошибке "ссылка на необъявленную группу моделей" 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 Где лучшее место для размещения схемы в проекте модульного тестирования, чтобы она автоматически копировалась /ссылка где мне это нужно? "../../" вещь клуджи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...