以下是验证失败的特定XML标记:
<MiddleName>A</MiddleName>
该标签的XSD:
<xsd:element name="MiddleName" type="MiddleInitial" />
<xsd:simpleType name="MiddleInitial">
<xsd:restriction base="xsd:string">
<xsd:pattern value="^[A-Za-z]?$" />
</xsd:restriction>
</xsd:simpleType>
我得到的错误:
cvc-pattern-valid: Value 'A' is not facet-valid with respect to pattern '^[A-Za-z]?$' for type 'MiddleInitial'.
我正在使用的验证器:
http://tools.decisionsoft.com/schemaValidate/
正则表达式看起来不错。 ^匹配开始,$,结束,?是字母A-Z或a-z的零或一倍。
有什么想法吗?
答案 0 :(得分:18)
来自w3规范Regular Expressions (Appendix D):
...表达式与整个词法表示相匹配 而不是用户范围的词汇表示,如line和 段。因此,表达式语言不包含 元字符^和$,虽然^用于表示异常, 例如[^ 0-9]×
即。取出^
和$
。