cvc-pattern-valid: значение 'A' не является корректным по отношению к шаблону '^ [A-Za-z]? $' для типа 'what' - PullRequest
13 голосов
/ 08 марта 2012

Вот конкретный тег 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/

Регулярное выражение выглядит хорошо.^ соответствует началу, $, концу,?это для нуля или один раз буквы AZ или az.

Есть идеи?

1 Ответ

18 голосов
/ 08 марта 2012

Из спецификации w3 Регулярные выражения (Приложение D) :

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

Т.е. вынимаются ^ и $.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...