XML / XSD Tester
Вставьте XML-документ и схему XSD — инструмент проверит, соответствует ли документ схеме, и покажет ошибки по строкам.
Данные обрабатываются на сервере сайта только на время запроса и не сохраняются.
Зачем проверять XML по схеме
XSD-схема описывает, каким должен быть документ: какие элементы обязательны, в каком порядке они идут, какие у них атрибуты и типы значений. Документ может быть синтаксически безупречным, но не пройти проверку получателя: пропущен обязательный элемент, в поле количества записано «abc», дата в неверном формате.
Проверка по схеме нужна, когда вы формируете XML для внешней системы: электронные документы в ЭДО (УПД, счета-фактуры по форматам ФНС), отчётность, обмен с 1С, товарные фиды, запросы к SOAP-сервисам. Лучше найти ошибку до отправки, чем получить отказ оператора или контрагента.
Что проверяется
- синтаксис XML — закрытые теги, вложенность, кодировка;
- наличие и порядок обязательных элементов (
sequence,choice,all); - обязательные атрибуты (
use="required"); - типы данных:
xs:integer,xs:decimal,xs:date,xs:positiveIntegerи пользовательские; - ограничения: длина строки, шаблон (
pattern), перечисления (enumeration), минимум и максимум; - количество повторений (
minOccurs,maxOccurs).
Ограничения
Проверка выполняется на нашем сервере библиотекой libxml и ничего не сохраняет. Схемы, подключающие другие файлы через xs:include или xs:import, нужно предварительно собрать в одну: загружать внешние файлы сервер не будет. По той же причине запрещены объявления сущностей <!ENTITY> — это защита от атак XXE. Максимальный размер — 2 МБ для XML и 1 МБ для схемы.
Частые вопросы
Сохраняются ли мои документы?
Нет. XML и схема передаются на сервер только на время проверки и не записываются ни в файлы, ни в логи.
Схема ссылается на другие файлы XSD. Что делать?
Объедините схемы в один файл: вставьте содержимое подключаемых схем вместо xs:include. Сервер не загружает внешние файлы из соображений безопасности.
Можно ли проверить файл УПД из ЭДО?
Да, если у вас есть XSD-схема соответствующего формата ФНС. Её публикует ФНС на своём сайте вместе с описанием формата.