Ограничение схемы XML, которое допускает пустые элементы или определенный шаблон - PullRequest
4 голосов
/ 25 мая 2011

Я хочу определить элемент в схеме XML, который будет содержать пустую строку или какой-либо конкретный шаблон, например:

<Code/> 
<Code></Code> 
<Code> </Code>
<Code>11111</Code>
<Code>111111</Code> - INVALID
<Code>AAAAA</Code> - INVALID

Как я могу изменить существующие ограничения?

<xs:element name="Code">                
<xs:simpleType>
<xs:restriction base="xs:string"> 
<xs:pattern value="[0-9]{5}" />
</xs:restriction>
</xs:simpleType>
</xs:element>

Ответы [ 2 ]

5 голосов
/ 25 мая 2011

Добавьте \s в качестве другого выбора для вашего регулярного выражения, чтобы разрешить использование пробельных символов [# x20 \ t \ n \ r] (то есть: «обычный» пробел, табуляция, перевод строки, возврат каретки. включен.)

<xs:simpleType>
    <xs:restriction base="xs:string"> 
        <xs:pattern value="\s*|[0-9]{5}" />
    </xs:restriction>
</xs:simpleType>
0 голосов
/ 19 июня 2019

Использование "^$|pattern" должно работать, поскольку ^$ соответствует только нулевым значениям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...