如何在指定位置验证XSD字符串

时间:2012-10-26 16:44:56

标签: xml validation xsd

我想知道是否可以针对字符串的第一个字符执行XSD验证?我有一种感觉没有,我找不到任何与此问题相关的搜索结果。

我有一个网关服务,它接受多个XML数据字符串,这些数据字符串都与我的XSD文件匹配。在这种情况下,我有一个特定的数据字符串,其中第一个字符只能包含字符“S”和“N”,其中字符串的其余部分可以是字母数字。

目前我只是将其定义为字符串,限制为46个字符:

<xs:element name="navcode">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="46"/>
      </xs:restriction>
    </xs:simpleType>
</xs:element>

有人知道这是否可行?谢谢大家的帮助!

1 个答案:

答案 0 :(得分:2)

用图案构面替换maxLength构面:

    <xs:pattern value="[NS].{0,45}"/>

它应该适合您的需要。的。意味着新线以外的任何东西有关XSD规范支持的正则表达式的更多信息,请查看here