在 XSD 中限制令牌类型定义中的空间
Limiting spaces in token type definition in XSD
我有点困惑,我的 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>
因为你的基础是 xs:token
,你实际上是在指定
<xs:whiteSpace value="collapse"/>
因此导致 前导和尾随空格被修剪。
将您的基数更改为 xs:string
以按照您的期望强制前导和尾随空格 无效 SymbolType
。
如果您看到允许嵌入 空格,那么post a Minimal, Complete, and Verifiable Example;那不应该发生。
我有点困惑,我的 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>
因为你的基础是 xs:token
,你实际上是在指定
<xs:whiteSpace value="collapse"/>
因此导致 前导和尾随空格被修剪。
将您的基数更改为 xs:string
以按照您的期望强制前导和尾随空格 无效 SymbolType
。
如果您看到允许嵌入 空格,那么post a Minimal, Complete, and Verifiable Example;那不应该发生。