Xsd, проверить пустую строку или строку минимальной длины - PullRequest
1 голос
/ 03 сентября 2010

В настоящее время у меня есть проверка Xsd с этим правилом

<xs:simpleType name='shipTo'>
    <xs:restriction base='xs:string'>
        <xs:minLength value='6'/>
    </xs:restriction>
</xs:simpleType>

Мне также нужно разрешить пропуски, но если значение введено, его минимальная длина должна быть 6.Могу ли я сделать это, не прибегая к этому xs:pattern и регулярному выражению?

<xs:simpleType name='shipTo'>
    <xs:restriction base='xs:string'>
        <xs:pattern value='^(?:|[\w]{6,})$'/>
    </xs:restriction>
</xs:simpleType>

1 Ответ

2 голосов
/ 03 сентября 2010

Регулярное выражение будет работать, но вы действительно должны сделать элемент, которому вы будете назначать shipTo, необязательным, и не включать его в файл XML, если он не имеет значения.

...