xsd 空字符串验证

xsd empty string validation

基于 xsd 架构:

<xs:simpleType name="TextType">
    <xs:restriction base="xs:string">
        <xs:minLength value="1"/>
        <xs:maxLength value="50"/>
    </xs:restriction>
</xs:simpleType>
...
<xs:element maxOccurs="10" minOccurs="0" name="MyText" type="TextType"/>

像这样的空 space 值是否有效,为什么?

<MyText>  </MyText>

是的,有效。该值可以是长度在 1-50 个字符之间的任何字符串,这是一个长度在这些限制之间的字符串。

如果您想在应用长度检查之前消除空格,您可以考虑使用 xs:whiteSpace 方面,或使用派生类型,例如 xs:token.