XML і XSD: чим відрізняються документ і схема
XSDHub · 4 листопада 2026 року
Що означає проблема
XML є способом подання структурованих даних, а XSD описує обмеження для таких документів. Документ містить конкретні значення й елементи. Схема визначає дозволені назви, порядок, повторення, атрибути та типи. Тому запит «XML коректний?» має щонайменше два значення: чи правильна розмітка та чи відповідає вона конкретному формату обміну.
З чого почати перевірку
Синтаксичний аналізатор перевіряє єдиний кореневий елемент, вкладеність тегів, лапки атрибутів і допустимість символів. Він не знає, чи обов’язково замовлення повинне мати кількість. Це правило можна встановити схемою. Навіть бездоганно сформований документ із коренем іншого формату може бути непридатним для системи, яка очікує замовлення.
Як працює приклад
У наведеній XSD оголошено order з дочірнім quantity типу positiveInteger. Обидва XML проходять синтаксичну перевірку, але корінь invoice не має відповідного глобального оголошення в цій схемі. Навчальне виправлення змінює його на order. У робочому документі назву кореня потрібно брати зі специфікації, зберігаючи зміст операції та належний простір імен.
На що звернути увагу
Сама XSD теж записана мовою XML. Вона може мати синтаксичну помилку або бути синтаксично правильною, проте некоректною як схема. Якщо обробник не зміг скомпілювати XSD, висновок про відповідність документа ще не отримано. Спочатку перевірте джерело, цілісність і версію схеми, а вже тоді аналізуйте помилки в даних.
Як застосувати виправлення
Частина вимог лежить поза звичайними структурними правилами XSD 1.0. Одержувач може окремо перевіряти підсумки, бізнес-умови або підпис. Для наочного порівняння запустіть обидва приклади спочатку без схеми, потім із нею. Збережіть назву та версію 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 з помилкою — очікується відмова
<invoice><quantity>1</quantity></invoice>Виправлений XML — очікується успіх
<order><quantity>1</quantity></order>