XSD验证模式以强制执行LastName / FirstName

时间:2014-10-03 09:51:02

标签: xsd xsd-validation xsd-1.1

我需要强制执行模式LASTNAME / FIRSTNAME像Smith / John这样的东西。

字符可以是字母数字(小写/大写)还包括特殊字符,如ë等。

模式:

 <xsd:pattern value="[a-zA-Z0-9]/[a-zA-Z0-9]"/>

基本上是规则 - 斜线前的任何东西 - 斜线后的任何东西 - 不应允许“/ John”,“John /”之类的模式

提前致谢。

2 个答案:

答案 0 :(得分:2)

ASCII

假设你不想要名字中的数字:

        <xs:pattern value="[a-zA-Z]+/[a-zA-Z]+"/>

如果你真的想接受名字中的数字:

        <xs:pattern value="[a-zA-Z0-9]+/[a-zA-Z0-9]+"/>

请注意,例如0/0在这种情况下有效。

的Unicode

        <xs:pattern value="\p{L}+/\p{L}+"/>

解释\p{L}匹配Letter类别中的Unicode代码点。

答案 1 :(得分:1)

你的限制应该是这个..

<xs:pattern value="(([a-zA-Z0-9])*)([/])(([a-zA-Z0-9])*)"/>

我通过XMLSpear

验证了这种模式