Шаблон строки XSD, независимый от начального / конечного пробела - PullRequest
1 голос
/ 11 мая 2010

У меня есть простой тип XSD, который должен соответствовать UUID:

<simpleType name="UuidT">
    <restriction base="string">
        <pattern value="[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" />
    </restriction>
</simpleType>

Правильно соответствует следующему содержанию:

<!-- valid -->
<Uuid>12345678-1234-5678-9012-123456789012</Uuid>

Но он не соответствует содержимому, которое содержит лишние пробелы:

<!-- not valid -->
<Uuid>
    2de25a81-b117-4b2a-b910-50f0878884f7
</Uuid>

Конечно, я мог бы добавить \s* к обеим сторонам регулярного выражения, но нет ли более простого решения в XSD?

Ответы [ 2 ]

2 голосов
/ 11 мая 2010

Попробуйте restriction base="xs:token".

2 голосов
/ 11 мая 2010

Согласно это , вы должны определить

<xs:whiteSpace value="collapse"/>

(возможно, без пространства имен)

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