Подтвердить что ты не робот

Cvc-pattern-valid: Значение "A" не является граничным по отношению к шаблону "^ [A-Za-z]? $" для типа "что угодно"

Здесь конкретный тег 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.

Любые идеи?

4b9b3361

Ответ 1

Из w3 spec Регулярные выражения (Приложение D):

... выражения сопоставляются со всеми лексическими представлениями а не лексических представлений, связанных с пользователем, таких как линии и параграф. По этой причине язык выражения не содержит метасимволы ^ и $, хотя ^ используется для выражения исключения, например [^ 0-9] х

т.е. выньте ^ и $.