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

115

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

Изображение 319

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

Теги:
xsd

14 ответов

58

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

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

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

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

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

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

  • Перейдите в папку dist/lib.
  • Выполните следующую команду java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style]
  • 2
    использование: java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style] (из xsdvi.zip /res/readme.txt)
  • 0
    Единственная проблема с этим инструментом в том, что генерируемый SVG немного медленный. Мол, если я «рушусь все» после открытия, это займет около пятнадцати секунд, пока он рухнет. Но это бесплатно ... так ...
Показать ещё 3 комментария
35

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

Изображение 4536

  • 2
    хороший, работает даже с последней Mono-MDK (4.0) на OSX. Именно то, что я искал
26

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

Изображение 4537

  • 1
    JDeveloper (версия для Java) выполнил эту работу за меня, попробовал другие программы, упомянутые здесь, но не повезло.
  • 2
    Будьте осторожны при использовании его в OSX: после распаковки .zip-файла JDeveloper.app не запустится из-за проблем с правами доступа к файлу. Вы должны установить исполняемый бит в /Applications/jdeveloper/JDeveloper.app/Contents/MacOS/JDeveloper. Затем он все равно не запустится, пока вы не сохраните путь к своему JDK в ~ / .jdev_jdk следующим образом: echo $ JAVA_HOME> ~ / .jdev_jdk
Показать ещё 1 комментарий
24

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

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

Скриншот:

Изображение 4538

16

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

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

  • 2
    Версия Community Edition была заменена несвободной версией для начинающих по цене 106,90 долларов США в год.
  • 0
    @ Эндрю Свон: как жаль .... все же - Liquid XML - отличный инструмент
Показать ещё 2 комментария
15

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

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

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

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

  • 2
    Диаграмма XSD действительно хороша. Благодарю. Стоит отметить одну вещь: когда вы загружаете XSD, приложение не показывает ничего на вкладке диаграммы, даже корневой элемент. Я думал, что он сломан, но оказывается, что нужно просто явно указать, какие элементы показывать.
13

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

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

  • 2
    В Eclipse вы можете щелкнуть правой кнопкой мыши по файлу XSD и выбрать «Открыть с помощью» -> «Другие» -> «Редактор схемы XML», хотя редактор немного не отвечает при просмотре файла размером 340 КБ.
  • 2
    JDeveloper XSD View выглядит нормально.
5

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

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

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

Изображение 4539

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

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

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


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

С < oXygen/ > XML-редактор:

Изображение 4540

Смотрите: http://www.filigris.com/docflex-xml/OxygenXML/demo/html/xslt20/index.html

С Liquid XML Studio:

Изображение 4541

Смотрите: http://www.filigris.com/docflex-xml/LiquidXML/demo/html/XMLSchema/index.html


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

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

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

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

4

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

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

  • 0
    Как открыть дизайнерскую поверхность?
  • 1
    Поверхность дизайна должна открыться, когда вы выполните File -> Open -> pick .xsd file. В этот момент ваша XML-схема еще не отображается, поэтому поверхность конструктора пуста ... Она откроется в виде пустой вкладки с некоторыми инструкциями о том, что делать. Текст гласит: «Визуализируйте узлы в наборе схем XML, перетаскивая их из проводника схем XML на поверхность конструктора». Вы должны щелкнуть это слово в проводнике схем XML. Это ссылка, которая откроет боковую вкладку (эта вкладка будет затем содержат элементы XML-схемы, которые можно перетащить на поверхность конструктора)
Показать ещё 2 комментария
3

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

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

Минусы:

  • Довольно неустойчивый с большими (более 20шт MB) файлами.
2

Существует новый бесплатный webtool, где вы можете просмотреть любую xml-схему:

Средство просмотра XML в Интернете

www.xml-tools.net

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

  • 0
    Я не вижу меню панели инструментов вверху в Google Chrome?
  • 0
    Подскажите пожалуйста ОС и версию браузера - спасибо!
Показать ещё 1 комментарий
1

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

Изображение 4542

0

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

0

Попробуйте воспользоваться моим xsd-viewer из https://github.com/santhosh-tekuri/jlibs.

  • 0
    Попытка этого, но deadlock.netbeans.org/maven2 выдает ошибку 404, и если я использую файл JAR org-netbeans-swing-outline из NetBeans 6.9.1, я получаю NPE по умолчанию DefaultRenderDataProvider.java:49
  • 0
    deadlock.netbeans.org/maven2 не работает. теперь я использовал свой личный репозиторий. попробуйте с новыми источниками ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню