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.
Любые идеи?
Ответы
Ответ 1
Из w3 spec Регулярные выражения (Приложение D):
... выражения сопоставляются со всеми лексическими представлениями а не лексических представлений, связанных с пользователем, таких как линии и параграф. По этой причине язык выражения не содержит метасимволы ^ и $, хотя ^ используется для выражения исключения, например [^ 0-9] х
т.е. выньте ^
и $
.