У меня есть схема XML со следующим фрагментом кода:
<xs:attribute name="extension" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="((18)|(19)|(20))[0-9][0-9]((0[1-9]|1[0-2]))((0[1-9]|1[0-9]|2[0-9]|3[0-1]))" />
</xs:restriction>
<xs:length value="8" />
</xs:simpleType>
</xs:attribute>
Этот фрагмент кода определяет, является ли правильной дата рождения живого человека или нет.Дается, что кто-либо рождается в любом году, начиная с 18, 19 или 20. Затем следуют любые два числа, месяц между 01-12 и день между 01-31.Дата рождения должна содержать 8 цифр для подтверждения.
Вопрос в том, есть ли способ развить это дальше?Например, если существует год рождения 1809, он будет подтвержден, даже если кто-то в этом возрасте не может быть живым.Также год в будущем будет подтвержден - скажем, 2058.
Я могу указать «minyear» и «maxyear», где первые 4 числа строки не могут быть меньше $ minyear или больше$ maxyear?
Я также могу добавить, что в прямой связи с этой 8-числовой строкой добавляются еще четыре числа, которые являются управляющими и не имеют никакого отношения к годам, месяцам и дням.Вот почему основой является строка.
Есть идеи?
/ Paul