← Все гайды

Просмотр XSD-схемы графически (диаграмма как в XMLSpy)

· 2 мин чтения

XSD

Как разобраться в чужой XSD-схеме: диаграмма модели содержимого, раскрытие узлов, кратность, атрибуты и переход к коду по щелчку.

Большие схемы — банковские форматы, схемы госсистем, отраслевые стандарты — тяжело читать как текст. Редактор XSD показывает модель содержимого диаграммой в стиле Altova XMLSpy, но в браузере и бесплатно.

Как открыть схему

  1. Откройте песочницу XSD.
  2. Вставьте схему или откройте файл .xsd (Файл → Открыть файл…).
  3. Справа слева — список компонентов схемы: элементы, составные и простые типы, группы, атрибуты. Выберите компонент — справа появится его диаграмма.
Диаграмма модели содержимого XSD
Диаграмма элемента: последовательность, кратность, атрибуты

Как читать диаграмму

  • Сплошная рамка — обязательный элемент, пунктир — необязательный (minOccurs="0").
  • «Стопка» — повторяющийся элемент; кратность подписана (например, 1..∞).
  • Значки композиторов: последовательность (xs:sequence), выбор (xs:choice), все (xs:all).
  • Блок attributes показывает атрибуты с типами и пометкой «обязательный».
  • Наследование подписано как расширение или ограничение базового типа.

Навигация

  • «+» раскрывает узел, Развернуть всё — всю модель сразу, Свернуть всё — обратно.
  • Щелчок по узлу переводит к его объявлению в коде.
  • Щелчок по названию типа открывает диаграмму этого типа.
  • Рекурсивные определения не разворачиваются бесконечно — такой узел помечен.

Проверка схемы

Схема проверяется на сервере по мере ввода тем же компилятором, что используют Java-системы: ошибки (неизвестный тип, неверная ссылка, нарушение правил XML Schema 1.0) появятся в строках. Если схема подключает другие файлы, храните их в проекте — см. «XSD из нескольких файлов».

Пример: чужая схема на 3000 строк

  1. В списке компонентов найдите корневой элемент сообщения — обычно он в разделе «Элементы».
  2. Нажмите Развернуть всё, чтобы увидеть модель целиком, или раскрывайте ветки «+» по одной.
  3. Пунктирные рамки — то, что можно не заполнять; «стопки» — повторяющиеся блоки; кратность подписана у узла.
  4. Щёлкните по типу, чтобы посмотреть его отдельно, и по узлу — чтобы перейти к объявлению в коде и прочитать документацию.

Вопросы и ответы

Можно ли сохранить диаграмму картинкой? Отдельного экспорта диаграммы XSD нет; для документации удобнее приложить саму схему или сгенерировать пример XML.

Поддерживается ли XSD 1.1? Диаграмма отображает структуру, а проверка схемы выполняется по XML Schema 1.0; конструкции 1.1 (xs:assert) будут отмечены как ошибки.

Схема открылась, но типы из подключённых файлов пустые — почему? Подключённые файлы ищутся в проекте. В песочнице их нет — сохраните все файлы схемы в проект (гайд).