Як виправити помилки XML: від синтаксису до схеми
XSDHub · 4 листопада 2026 року
Що означає проблема
Повідомлення валідатора варто читати разом з етапом перевірки. Під час синтаксичного аналізу обробник будує дерево документа й перевіряє розмітку. Під час перевірки за XSD він зіставляє вже прочитане дерево з правилами структури та значень. Змішування цих етапів часто призводить до зайвих змін у правильних частинах файла.
З чого почати перевірку
Збережіть початковий документ і спершу оберіть режим без схеми. Розгляньте перше повідомлення: незавершене значення атрибута або пропущений кінцевий тег здатні спричинити кілька наступних помилок. Вказаний рядок позначає місце виявлення проблеми, а не обов’язково місце її виникнення. Перегляньте також попередній рядок і початок відповідного елемента.
Як працює приклад
Коли синтаксис виправлено, додайте XSD потрібної версії. У нашому прикладі quantity дорівнює нулю, хоча схема задає xs:positiveInteger. Нуль є коректним текстовим вмістом XML, але не належить до допустимих значень цього типу. Заміна на одиницю усуває конкретне порушення без зміни структури замовлення.
На що звернути увагу
Не змінюйте тип на xs:string лише заради зеленого результату. Схема описує вимоги одержувача, і послаблення її локальної копії не змінить перевірок на іншому боці обміну. Натомість виправте джерело значення, повторіть перевірку з незмінною схемою та переконайтеся, що нове число правильно відображає зміст операції.
Як застосувати виправлення
Для складного документа підготуйте мінімальний знеособлений приклад: корінь, оголошення просторів імен і проблемний вузол. Прибирайте необов’язкові сусідні вузли поступово, перевіряючи результат після кожного кроку. Знайдене виправлення перенесіть у генератор і перевірте повний новий файл. Успіх XSD не підтверджує правильності розрахунків або електронного підпису; додаткові правила одержувача потрібно перевіряти окремо.
Перевірте приклади самостійно
Відкрити безкоштовний інструмент. Порівняйте помилковий і виправлений документи. Вставте повну XSD у поле схеми.
Повна навчальна схема XSD 1.0
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="order"><xs:complexType><xs:sequence><xs:element name="quantity" type="xs:positiveInteger"/></xs:sequence></xs:complexType></xs:element></xs:schema>XML з помилкою — очікується відмова
<order><quantity>0</quantity></order>Виправлений XML — очікується успіх
<order><quantity>1</quantity></order>