我有点困惑,我的XSD验证编辑器(IntelliJ)允许它有空格,一般来说我从未遇到过IntelliJ验证的问题所以我相信这个定义实际上必须意味着允许空格。
但我无法弄清楚原因。有人可以解释发生了什么以及如何将其限制为无空间吗?
<xs:simpleType name="SymbolWord">
<xs:restriction base="xs:token">
<xs:minLength value="3" />
<xs:pattern value="[A-Za-z0-9\._]+"/>
</xs:restriction>
</xs:simpleType>
答案 0 :(得分:1)
由于您的基数为xs:token
,因此您有效地指定了
<xs:whiteSpace value="collapse"/>
因此导致前导和尾随空格被修剪。
根据您的期望,将您的基数更改为xs:string
,以强制SymbolType
的前导和尾随空格无效。
如果您看到嵌入空格被允许,请发布Minimal, Complete, and Verifiable Example;那不应该发生。