我试图了解XSD中模式的使用。 限制模式中的“ +”在XSD中如何工作?
经过研究,我发现可以对模式使用限制。我确实知道“ +”表示1或更大。但这也适用于这种情况吗?
<xsd:simpleType name="typeNumber">
<xsd:restriction base="xsd:ID">
<xsd:pattern value="nr[0-9]+"/>
</xsd:restriction>
</xsd:simpleType>
例如,值nr12345
是否有效?
此外,我想知道如何在nr01
和nr10
之间设置可接受的值。
答案 0 :(得分:2)
此XSD类型
<xsd:simpleType name="typeNumber">
<xsd:restriction base="xsd:ID">
<xsd:pattern value="nr0[1-9]"/>
<xsd:pattern value="nr10"/>
</xsd:restriction>
</xsd:simpleType>
将根据要求允许nr01
至nr09
和nr10
,而无需+
,这的确意味着1次或多次发生。
答案 1 :(得分:0)
您可以使用
<xsd:simpleType name="typeNumber">
<xsd:restriction base="xsd:ID">
<xsd:pattern value="nr(0?[1-9]|10)"/>
</xsd:restriction>
</xsd:simpleType>
详细信息
正则表达式将匹配整个匹配的字符串
nr
-字符串开头的nr
(0?[1-9]|10)
-可选的0
,后跟一个非零数字(请参见0?[1-9]
的替代值)或(|
)10
的值。