2012-03-08 97 views
12

以下是驗證失敗的特定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的零或一倍。

任何想法?

回答

16

從W3規範Regular Expressions (Appendix D)

...表達式是針對整個詞表示匹配 而非用戶範圍的詞彙表示,如線路和 段落。由於這個原因,表達式語言不包含 元字符^和$,儘管^用於表示異常, 例如, [^ 0-9] x

I.e.拿出^$

相關問題