Значення не задовольняє обмеження xs:pattern свого простого типу. Регулярні вирази XML Schema мають власні правила, тому успіх JavaScript-тестера не замінює запуск XSD-валідатора з тим самим оголошенням і базовим типом.
Що повідомлення означає буквально
Наш артикул потребує двох великих літер, дефіса й трьох цифр. ab204 порушує регістр і не має роздільника; BK-204 відповідає шаблону. Виправлена пара змінює лише текст, залишаючи схему попередньою. Додаткове cvc-type.3.1.3 Xerces описує той самий результат для цілого елемента.
Три поширені причини для перевірки
Не збігаються регістр, роздільники або класи символів. Схожий знак Unicode може відрізнятися від буквального дефіса в контракті.
До XSD скопійовано вираз іншої мови. Екранування та підтримувані конструкції мають відповідати XML Schema, а не правилам браузера.
Обробка пробілів змінює текст перед зіставленням. Типи на основі string та token можуть по-різному нормалізувати навколишні й повторні пробіли.
Виправлення та повторна перевірка
Знайдіть restriction і прочитайте pattern разом із базовим типом та успадкованими обмеженнями. Порівняйте відоме правильне значення з помилковим посимвольно. Відтворіть перевірку в XSDHub і внесіть мінімальну правку, що зберігає зміст артикула. Перевірте сусідні випадки: малу літеру, відсутню цифру та інший роздільник, аби нормалізація виробника не приймала зайві форми.
Коли причина у просторі імен
Зазвичай помилка шаблону означає, що оголошення знайдено й перевірка значення вже працює. Namespace стає важливим, коли чужий елемент або xsi:type обирає несподіване обмеження. Спочатку встановіть джерело pattern: зміна xmlns сама не перетворює малі літери на великі та не вставляє потрібний дефіс.
Як зіставляти звіти рушіїв
Видалення pattern або заміна на вираз для будь-якого тексту послаблює домовленість з одержувачем. Якщо формат артикула справді змінився, проведіть погоджену зміну схеми та перевірте виробників обох версій. Не покладайтеся на інший regex-рушій лише тому, що його інтерфейс показав успішне зіставлення.
Повні перевірені пари XML та XSD
Відкрийте потрібний варіант у редакторі й натисніть Validate XML. Завантаження прикладу не запускає перевірку та не надсилає документи; серверний режим потребує окремої згоди.
cvc-pattern-valid: Value 'ab204' is not facet-valid with respect to pattern '[A-Z]{2}-[0-9]{3}' for type '#AnonType_sku'.
cvc-type.3.1.3: The value 'ab204' of element 'sku' is not valid.
PASS
.NET 8.0.33 · System.Xml.Schema Validation
The 'sku' element is invalid - The value 'ab204' is invalid according to its datatype 'String' - The Pattern constraint failed.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2 Validation
Element 'sku': [facet 'pattern'] The value 'ab204' is not accepted by the pattern '[A-Z]{2}-[0-9]{3}'.
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0 Validation
value doesn't match any pattern of ['[A-Z]{2}-[0-9]{3}']
PASS
Saxon
Зіставлення з EE: cvc-pattern-valid позначає відповідне обмеження XSD. Запуск Saxon-EE та буквальне формулювання не заявлено: ліцензія EE недоступна. Saxon-HE не виконує XSD-валідацію.