English

Как исправлять ошибки XML: порядок проверки

XSDHub · 4 ноября 2026 года

Причина и контекст

Начните разбор с определения этапа, на котором остановилась обработка. Ошибка синтаксиса означает, что парсер не смог построить документ. Ошибка схемы возникает позже: дерево XML уже существует, но нарушает ограничения выбранной XSD. Попытка одновременно менять теги, значения и схему скрывает первоначальную причину отказа.

Что проверить в документе

Сохраните копию исходного файла и запустите проверку синтаксиса без XSD. Исправляйте первое сообщение, затем повторяйте запуск. Незакрытая кавычка может вызвать целую цепочку сообщений о следующих строках. Номер строки показывает место обнаружения проблемы; действительная причина иногда находится перед ним, например в предыдущем атрибуте.

Разбор примера

Когда синтаксис корректен, подключите официальную схему нужной версии. Сначала проверьте корневое имя и пространство имён, затем обязательные дочерние элементы, порядок, атрибуты и типы значений. Пример ниже специально содержит только одну проблему: значение quantity равно нулю при типе positiveInteger. Документ разбирается, но не проходит ограничение типа.

Как найти источник ошибки

Замените ноль на единицу и повторите проверку с неизменной схемой. Если результат стал успешным, причина воспроизведена и исправление изолировано. Не ослабляйте XSD до строкового типа только для прохождения теста: схема описывает контракт с получателем, который продолжит ожидать положительное количество.

Особые случаи

Для большого файла создайте минимальную копию, сохранив корень, объявления пространств имён и проблемный фрагмент. Удаляйте соседние необязательные узлы постепенно. Такой способ помогает отличить ошибку содержания от влияния окружающей структуры. Перед отправкой восстановите полный документ и снова проверьте его.

Порядок исправления

Отчёт об успешной 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>

Спецификация

Первоисточник W3C (English)