XDTO ошибка

1. AlexeyIsip 26 22.10.24 07:34 Сейчас в теме
Настраиваю обмен с внешней системой. Создал XDTO:
мне передали тег
"<Date_of_birth/>"

<xs:element name="Date_of_birth" type="xs:date" minOccurs="0"/>

Ошибка проверки данных XDTO:
Значение: '' не соответствует простому типу: {http://www.w3.org/2001/XMLSchema}date
(Buffer not initialized yet!)

Посоветуйте как поправить XDTO, чтобы с одной стороны ошибки не было, с другой стороны была типизация date
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1880116 22.10.24 07:48 Сейчас в теме
(1)
Настраиваю обмен с внешней системой. Создал XDTO
А xsd схему тебе передали или ты сам её пытаешся cделать?
3. AlexeyIsip 26 22.10.24 10:48 Сейчас в теме
(2) Сам делаю, напрягаю сторонних разработчиков следовать ей, но хотелось бы поменьше напрягать, если это возможно
4. Sashares 35 22.10.24 11:27 Сейчас в теме
(3) Ну так они не следуют.
В соответствии со схемой выше - значение тега должно быть заполнено датой или тега не должно быть вообще.
5. user1880116 22.10.24 11:34 Сейчас в теме
(3)
Сам делаю
Документацию по xsd-то хоть читал? Хотя кого я спрашиваю...

Твоё minOccurs="0", оно относится не к значению, а ко всему элементу. При примении этого атрибута будут допустимы варианты как:
<root>
  <Date_of_birth>2000-01-01</Date_of_birth>
</root>
так и
<root>
</root>

Для управления значением элемента есть два варианта.
1. Описать значение как "возможно пустое":
<xs:element name="Date_of_birth" type="xs:date" minOccurs="0" nillable="true" />
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<Date_of_birth xsi:nil="true" />
</root>

2. Указать значение нужного типа по умолчнию:
<xs:element name="Date_of_birth" type="xs:date" minOccurs="0" default="1970-01-01" />
<root>
	<Date_of_birth />
</root>
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот