Инструменты XML

Генератор XSD из XMLпо нескольким примерам

Добавьте второй полный XML-документ, чтобы увидеть отсутствующие поля.

Генератор XSD из XML

Образцы XML

Черновик XSD

Образцы обрабатываются в этом браузере. Локальные файлы не отправляются.

Параметры вывода

Не более 20 образцов, по 1 000 000 символов каждый, 2 000 000 всего, глубина 100. Пустые образцы игнорируются.

Результат устарел; экспорт недоступен.

Если у интеграции есть примеры сообщений, но нет схемы, генератор XSD из XML поможет описать наблюдаемую структуру. Пример показывает только фактические данные и не доказывает все допустимые варианты.

Создать XSD из XML можно по нескольким документам с одним корнем. Черновик компилируется и проверяется на каждом примере; несовместимый порядок элементов приводит к явной ошибке.

Зачем нужен генератор XSD из XML?

Найти пропуски по нескольким документам

Если поле есть только в одном из двух образцов, генератор XSD из XML задаёт minOccurs=0. Повторяющиеся дочерние узлы получают maxOccurs=unbounded. Ненаблюдавшиеся ветви не придумываются.

Два дерева XML соединяются в схему, а отсутствующее поле помечается как необязательное.

Не смешивать одинаковые имена в разных ветвях

У customer и product может быть элемент name с разной структурой. Локальные объявления сохраняют родительские пути, после чего схема проверяется на всех входных документах.

Одноимённые дочерние узлы разных родителей ведут к разным объявлениям схемы.

Какие выводы позволяют сделать образцы

01

Добавьте целый документ

Каждый образец содержит один корневой XML-элемент. Пустые дополнительные редакторы игнорируются. Второй документ может обнаружить отсутствующий дочерний узел или атрибут.

02

Выберите интерпретацию значений

Smart осторожно распознаёт логические значения, числа и даты ISO. Для кодов, которые должны оставаться текстом, выберите String. Автоматический запуск ждёт 400 мс; при выключении используйте Ctrl/Cmd+Enter.

03

Проверьте утверждения черновика

Успех означает лишь, что XSD 1.0 компилируется и принимает каждый поданный документ. Сверьте minOccurs, maxOccurs, типы и порядок xs:sequence с реальными требованиями.

От примеров к проверенному черновику

Объединение нескольких экземпляров

XML-схема из XML строится по документам с одинаковым корнем. Отсутствующий у одного родителя дочерний элемент становится необязательным; повторения расширяют верхнюю границу. Атрибуты оцениваются по наблюдаемому наличию.

Осторожный вывод типов

Генерация XSD распознаёт явные логические значения, целые и десятичные числа, даты ISO. Пустые значения, конфликтующие форматы и коды с ведущим нулём остаются xs:string; диапазоны и перечисления не выдумываются.

Проверка перед выгрузкой

Локальные объявления различают одинаковые имена под разными родителями. Фоновый процесс в браузере компилирует схему и проверяет каждый образец до разрешения копирования и скачивания.

Границы схемы, выведенной из примеров

Наблюдаемая обязательность не равна правилу
Если поле есть во всех образцах, в черновике оно обязательное. Только наблюдаемый пропуск даёт minOccurs=0. Если по правилам поле необязательное, исправьте выгруженную XSD вручную.
Без вымышленных бизнес-ограничений
Перечисления, шаблоны, диапазоны, ключи, значения по умолчанию и связи полей не выводятся. Код с ведущим нулём остаётся строкой, несовместимые форматы дают xs:string.
Один корень и одно пространство имён
Все непустые образцы должны иметь одинаковое расширенное имя корня. Второе пространство имён, квалифицированные атрибуты, смешанное содержимое и противоречивый порядок узлов отклоняются.
Только локальный XML 1.0
Вставьте текст или прочитайте локальный файл UTF-8. DOCTYPE, объявленные сущности, XML 1.1, загрузка по URL и внешние схемы не обрабатываются. Выводится один файл XSD 1.0.
Ограниченные образцы, отдельная проверка
Не более 20 документов, 2 000 000 символов суммарно и глубина 100. Встроенная проверка относится только к поданным примерам. Для нового XML используйте отдельный валидатор XSD и правила принимающей системы.

Вопросы про генератор XSD из XML

Как сделать XSD-схему из XML-файла?

Вставьте полный документ или прочитайте локальный файл. Генератор XSD из XML создаст черновик; другие документы с тем же корнем помогут обнаружить пропуски и повторения.

Почему автоматически созданная схема не принимает второй XML?

Причиной могут быть иное имя корня, конфликт порядка, другая форма элемента или значение, не подходящее типу. Добавьте второй документ как образец и проверьте подробную ошибку.

Как указать необязательный элемент?

Добавьте пример, где его родитель есть, а этого дочернего узла нет: получится minOccurs=0. Если отсутствие не показано, скорректируйте схему вручную по контракту.

Что делать с повторяющимися элементами?

Когда одноимённые дети встречаются несколько раз под одним родителем, схема получает maxOccurs="unbounded". Точную верхнюю границу нужно задать по правилам обмена.

Можно ли считать полученную схему готовой спецификацией?

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

Результат кажется неожиданным?

Создайте черновик: генератор XSD из XML

Генератор XSD из XML полезнее со вторым характерным документом. Проверьте необязательные и повторяющиеся узлы, затем испытайте схему на новых данных.