Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

cvc-pattern-valid: Value 'A' is not facet-valid with respect to pattern '^[A-Za-z]?$' for type 'whatever'

Tags:

regex

xml

xsd

Here's the particular XML tag whose validation is failing:

<MiddleName>A</MiddleName>

The XSD for that tag:

<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>

The error I'm getting:

cvc-pattern-valid: Value 'A' is not facet-valid with respect to pattern '^[A-Za-z]?$' for type 'MiddleInitial'.

The validator I'm using:

http://tools.decisionsoft.com/schemaValidate/

The regular expression looks good. ^ matches the start, $, the end, ? is for zero or one times the letters A-Z or a-z.

Any ideas?

like image 811
neubert Avatar asked Mar 08 '12 18:03

neubert


1 Answers

From the w3 spec Regular Expressions (Appendix D):

...expressions are matched against entire lexical representations rather than user-scoped lexical representations such as line and paragraph. For this reason, the expression language does not contain the metacharacters ^ and $, although ^ is used to express exception, e.g. [^0-9]x

I.e. take out the ^ and $.

like image 143
Jim Garrison Avatar answered Nov 16 '22 02:11

Jim Garrison