Как визуализировать схему XML?

Я сделал схему XML - весь код в основном - и мне было интересно, есть ли способ, что код может генерировать что-то вроде этого:

Если так, как я могу это сделать?

14 ответов

Java-приложение с открытым исходным кодом xsdvi создает интерактивную диаграмму в формате SVG из определения схемы XML. Сгенерированный файл SVG может отображаться в современном веб-браузере, где пользователь может развернуть и свернуть дерево, щелкнув мышью.

Вот пример сгенерированной диаграммы

http://xsdvi.sourceforge.net/ipo.svg

Программное обеспечение можно загрузить с

http://sourceforge.net/projects/xsdvi/

Его можно запустить следующим образом (при условии, что Java установлена ​​и java.exe в пути):-

  1. Перейти к dist/lib папка.
  2. Запустите следующую команду java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style]

Диаграмма XSD является бесплатной (открытая лицензия GNU), ее не нужно создавать и предоставляет интерактивную диаграмму. Вы просто открываете файл и добавляете нужные вам типы на (изначально пустую) диаграмму. Довольно прямо вперед.

Вы можете использовать интерактивный просмотрщик XMLGrid, который обеспечивает отличную поддержку XSD и многие другие функции:

  • Отображение данных XML в сетке данных XML.
  • Поддерживает типы файлов XML, XSL, XSLT, XSD, HTML.
  • Легко изменить или удалить существующие узлы, атрибуты, комментарии.
  • Легко добавлять новые узлы, атрибуты или комментарии.
  • Легко разворачивать или сворачивать дерево узлов XML.
  • Просмотр исходного кода XML.

Скриншот:

Скриншот

Встроенный просмотрщик Oracle JDeveloper 11g, на мой взгляд, превосходит тот, который доступен для Eclipse (который, в дополнение к другим неблагоприятным точкам сравнения, я смог установить только для Indigo, но не для Juno). Если я не ошибаюсь, Oracle делает JDeveloper бесплатным (требуется только регистрация в OTN).

В Linux (с моно, доступно через apt-get в Debian) и Windows:

  • XSDDiagram (работает также на Mono)

Если вы используете Windows, я рекомендую вам взглянуть на:

Оба инструмента бесплатны, и оба могут предоставлять аналогичные визуализации, как показано в вашем примере.

Если вам нужна простая, более ориентированная на текст документация вашего XSD, посмотрите xs3p - таблицу стилей XSLT, которая преобразует ваш XSD в более читаемый формат HTML. Довольно красиво и совершенно бесплатно.

Если этого недостаточно, ознакомьтесь с некоторыми коммерческими инструментами - я лично предпочитаю Liquid XML Studio - не такими дорогими, как другие, и такими же способными!

Это изображение генерируется с помощью инструмента редактирования XML-схемы, такого как XMLSpy от Altova.

Вокруг существует множество инструментов XML, каждый из которых включает в себя средство просмотра графического XSD. Я упомянул XML Spy просто потому, что он является лидером бренда. Также многие стандартные IDE, такие как Eclipse, Visual Studio и Oracle JDeveloper, смогут сделать этот трюк.

Мы предлагаем инструмент под названием DocFlex/XML XSDDoc, который позволяет вам наслаждаться обеими вещами одновременно:

  • Иметь представление схемы вашей XML-схемы
  • Чтобы все эти диаграммы были встроены (и гиперссылки) в сложную документацию схемы XML

Диаграммы фактически создаются не нами, а Altova XMLSpy. Мы реализовали интеграцию с XMLSpy (с полной поддержкой всех гиперссылок диаграмм):

Документация схемы XML с диаграммами, сгенерированными XMLSpy

Здесь вы можете увидеть полный этот документ: http://www.filigris.com/docflex-xml/xsddoc/examples/html/XMLSchema/index.html?schemas/XMLSchema_xsd/complexTypes/namedAttributeGroup.html

Все это обеспечивает функциональность, не предлагаемую ни одним поставщиком прямо сейчас на рынке!

Некоторые наши клиенты были настолько впечатлены, что приобрели дополнительную лицензию на XMLSpy только благодаря нашему инструменту. (Это не шутка!)


В настоящее время мы также реализовали аналогичные интеграции с другими редакторами XML:

С XML Editor:

XSDDoc с диаграммами, сгенерированными <oXygen /> XML Editor XML Editor">

См. http://www.filigris.com/docflex-xml/OxygenXML/demo/html/xslt20/index.html?schemas/schema-for-xslt20_xsd/elements/for-each.html.

С Liquid XML Studio:

XSDDoc с диаграммами, созданными Liquid XML

См. http://www.filigris.com/docflex-xml/LiquidXML/demo/html/XMLSchema/index.html?schemas/XMLSchema_xsd/elements/global/redefine.html.


Относительно того, что изображают все эти диаграммы... По сути, все они касаются модели содержимого элементов XSD (а также других компонентов XSD, которые ведут к элементам: complexTypes, группы элементов / атрибутов). Кажется, здесь есть два подхода:

  1. Чтобы показать, как будет выглядеть модель содержимого результата (представленная данным компонентом). Это подход XMLSpy.
  2. Чтобы показать, как конкретная модель контента (данного компонента) была получена из других компонентов. Это подход XML и Liquid XML.

Я лично считаю, что диаграммы, генерируемые XMLSpy, более полезны.

Тем не менее, до сих пор не было попыток (по крайней мере, мне знакомых) графически изобразить что-либо еще, содержащееся в схемах XML, хотя можно представить множество...

Существует новый бесплатный веб-инструмент, в котором вы можете просмотреть любую XML-схему:

Онлайн XML Schema Viewer

http://www.xml-tools.net/

Он полностью написан на JavaScript, поэтому работает в большинстве современных браузеров.

Visual Studio 2013 имеет довольно крутой встроенный визуализатор.

Файл -> Открыть -> Файл, выберите свой.xsd, а затем перетащите элементы из XML Schema Explorer на поверхность конструктора.

Вот мой подход - скачайте редактор шаблонов freemind и CAM XML. Затем откройте CAM XML, создайте новый шаблон из XML, View -> View Template As Mind Map.
Плюсы этого решения:

  • Он работает локально, поэтому секретные файлы могут быть обработаны,
  • совершенно бесплатно,
  • Открытый исходный код.

Минусы:

  • Довольно нестабильно с большими (более 20шБ) файлами.

Мы используем Liquid XML Studio, она предоставляет интуитивно понятное редактируемое представление схемы XSD. Он также показывает встроенные аннотации, которые мы находим очень полезными, и представление split-code/gfx неоценимо при написании или редактировании XSD.

Редактор Liquid XML Studio XSD

Попробуйте мой xsd-viewer, доступный по https://github.com/santhosh-tekuri/jlibs.

Grid-ML Schema Viewer отлично подходит для поиска и визуализации XML-схем: https://gridml.com/xml-schema-viewer. Я считаю, что это лучше, чем другие инструменты, когда речь идет о больших схемах или когда просмотр диаграммы не представляется возможным. Этот инструмент также позволяет скопировать путь XPath или JSON элемента выбора.

Grid-ML Схема поиска экрана

Если кто-то работает с IBM Rational Application Developer, то в него встроен браузер XSD.

Другие вопросы по тегам