XSD字符串模式独立于前导/尾随空格

时间:2010-05-11 14:02:28

标签: xml regex xsd

我有一个与UUID匹配的XSD简单类型:

<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 个答案:

答案 0 :(得分:2)

根据this,你应该定义

<xs:whiteSpace value="collapse"/>

(可能没有命名空间)

答案 1 :(得分:2)

尝试restriction base="xs:token"