cvc-pattern-valid:关于模式'^ [A-Za-z],值'A'不是facet-valid?'''类型'what'

时间:2012-03-08 18:30:59

标签: xml regex xsd

以下是验证失败的特定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的零或一倍。

有什么想法吗?

1 个答案:

答案 0 :(得分:18)

来自w3规范Regular Expressions (Appendix D)

  

...表达式与整个词法表示相匹配   而不是用户范围的词汇表示,如line和   段。因此,表达式语言不包含   元字符^和$,虽然^用于表示异常,   例如[^ 0-9]×

即。取出^$