为xs:pattern生成有效的示例值

时间:2011-06-30 10:14:48

标签: xml validation xsd design-patterns

我有以下xsd限制:

<xs:restriction base="xs:string">
        <xs:minLength value="25"/>
        <xs:maxLength value="26"/>
        <xs:pattern value="(SA|DA|NT|DCS)(((0[1-9]|1[0-9])9999999999\d{4}\d{7})|([2-3]0(0[1-9]|[1-4][0-9]|5[0-2])\d{8}\d{4}\d{7})|(4099999999(0[1-9]|1[0-9])\d{4}\d{7}))"/>
    </xs:restriction>

问题是我无法生成符合此模式的示例值...是否有某些程序或网站输入模式,它为模式提供了有效的示例值?

我使用了液体xml工作室来生成带有模式的示例xml,并且错误地通过模式验证了所有字符串......

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

您可以尝试使用任何正则表达式工具,例如Free alternative to RegexBuddy

我认为你缺少一个支架编辑哦我复制错了,现在更新以显示你的表达: - )

(SA | DA | NT | DCS)(((0 [1-9] | 1 [0-9])9999999999 \ d {4} \ d {7})|([2-3] 0( 0 [1-9] | [1-4] [0-9] | 5 [0-2])\ d {8} \ d {4} \ d {7})|(4099999999(0 [1-9 ] | 1 [0-9])\ d {4} \ d {7}))

以下是一些让你入门的比赛

SA11999999999944447777777
DA01999999999944447777777
NT20498888888844447777777

试试Expresso,它会对你有所帮助。它不会生成表达式,但它用简单的英语解释了什么是必需的。