通过10 XSD限制到01值?

问题描述 投票:3回答:2

我想了解XSD模式的使用。怎么样了确实在为XSD限制工作模式“+”?

经过一番研究,我发现我可以使用有图案的限制。我不明白,“+”表示1以上。但这是否也适用于这种情况?

<xsd:simpleType name="typeNumber">
        <xsd:restriction base="xsd:ID">
            <xsd:pattern value="nr[0-9]+"/>
        </xsd:restriction>
    </xsd:simpleType>

请问,例如,值nr12345有效吗?此外,我想知道这将是多么有可能使nr01nr10之间的可接受值。

regex xml xsd xsd-validation xml-validation
2个回答
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通过nr09nr10,按照要求,而无需+,其中,是的,确实意味着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值。
© www.soinside.com 2019 - 2024. All rights reserved.