2016-02-03 3 views
1

Я пытаюсь проверить формат дата формата 23 December 2012 даты со схемой XML с использованием type="xsd:date"Как проверить дату DD MM YYYY с помощью XML-схемы?

CVC-тип_данный-valid.1.2.1: '23 декабря 2012' не является допустимым значением для „даты“ .. Строка «12», столбец «53».

Элемент Пример:

<dateReleased>23 December 1966</dateReleased> 

схемы Пример:

<xsd:element name="dateReleased" type="xsd:date" /> 

Можно ли с помощью type атрибут (xs:date)? Или, нужно ли вместо этого использовать xs:pattern?

ответ

1

Вы не можете переопределить формат, принятый xs:date в XSD.

Вы можете использовать ограничения для регулярных выражений xs:pattern, чтобы приблизиться, однако вы не сможете получить полную семантику даты (дневные диапазоны в течение месяцев, високосных годов и т. Д.).

Если у вас есть контроль над форматами даты, перейдите со стандартным, поддерживаемым XSD. Если вы этого не сделаете, подумайте о преобразовании XML через XSLT, который имеет большую гибкость в определении форматов даты, перед проверкой.