По какой-то причине я не могу получить nillable, чтобы корректно работать с валидатором схемы .Net. Я пытаюсь найти способ сделать родительский узел необязательным, но в то же время препятствовать прохождению пустого узла через валидатор.Scama Validator "nillable" для детских узлов не работает?
Вот текущий элемент валидатор:
<xs:element name="Dates" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="From" type="datetime" minOccurs="0" maxOccurs="1" />
<xs:element name="To" type="datetime" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
Я попытался изменить ДАТЫ элемент nillable = «ложь», но это не работает - пустой узел до сих пор делает его прошлое валидатор.
Я также попытался сменить все три элемента на nillable = "false" - который отлично работает для обнаружения пустого родительского узла, но приводит к тому, что оба пользователя становятся требуемыми узлами, а не остаются необязательными.
Так что я что-то пропустил? Да, я всегда могу просто набросить на него код и заставить его работать ... но я уверен, что здесь есть вариации в объявлениях схемы, которые дадут мне то, что мне нужно.
Очень близко, я думаю, но ваш первый пример (с From/To nodes) не прошел проверку (см. Http://www.xmlforasp.net/SchemaValidator.aspx). Это похоже на его заголовок в правильном направлении, но когда я возился с вашей схемой на сайте валидатора схемы, я только что усугубил ситуацию. :-) – jerhewet
@jerhewet Ты действительно прав. В опубликованной версии отсутствует 'maxOccurs =" 2 "' для внешнего 'choice'. – Filburt
Вы * - * Да, человек! Или, может быть, женщина Да, но в любом случае/пол это КАЗИТАНО, что я искал! Очень счастливый турист! – jerhewet