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


144

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

введите описание изображения здесь

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


3
Если вы используете Confluence, ознакомьтесь с новым плагином для просмотра XSD на Atlassian Marketplace

1
похоже, что инструмент, который я нашел, - это тот, который у OP был снимок экрана.
toddmo

Какой язык программирования вы используете? Если вы просто ищете рекомендации по программному обеспечению, для этого есть лучшие сайты StackExchange.
Aminadav Glickshtein

Ответы:


69

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]

2
использование: java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style](из xsdvi.zip /res/readme.txt)
roblogic

Единственная проблема с этим инструментом - это немного медленный SVG. Например, если я «сверну все» после открытия, это займет около пятнадцати секунд. Но это бесплатно ... так что ...
Иллюзия

Отличное программное обеспечение с открытым исходным кодом! единственная проблема заключается в том, что SVG будет большим файлом, и нажатие на кнопку +/- станет очень медленным (3-5 секунд)
Синь Мэн

Отличный инструмент! Интересно, можно ли сделать такое преобразование XSD-> SVG с помощью XSLT
Дима Фомин

Ребята, вам нужно купить более быстрый компьютер :) У меня он работает нормально, действительно хороший инструмент
debuti

54

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

введите описание изображения здесь


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

1
Гениальное маленькое программное обеспечение. Супер легкий вес и не требует JRE, быстро. Любить это.
Мохаммед Лохандвала

Это очень хорошо.
Уве Зигенхаген,

30

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

введите описание изображения здесь


1
JDeveloper (версия Java) выполнил эту работу за меня, пробовал другие упомянутые здесь программы, но безуспешно.
SyAu

2
Будьте осторожны при использовании его в OSX: после распаковки файла .zip JDeveloper.app не запускается из-за проблемы с правами доступа к файлу. Вы должны установить исполняемый бит в /Applications/jdeveloper/JDeveloper.app/Contents/MacOS/JDeveloper. Тогда он все равно не запустится, пока вы не сохраните путь к вашему JDK в ~ / .jdev_jdk следующим образом: echo $ JAVA_HOME> ~ / .jdev_jdk
user17481

Это работает как шарм! Раньше мы использовали XMLSpy для добавления изображений API, что приводило к некоторым неловким моментам: найти кого-то, у кого была лицензия, найти кого-то, у кого была пробная версия, или найти того, кто еще не установил пробную версию для создания изображений. Покупать программу за 500 долларов только на пару картинок казалось глупым.
Captain Man

29

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

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

Снимок экрана:

Снимок экрана


21

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

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

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

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


2
Диаграмма XSD действительно хороша. Спасибо. Одно замечание: когда вы загружаете XSD, приложение не показывает ничего на вкладке диаграммы, даже корневого элемента. Я думал, что он сломан, но оказалось, что вам просто нужно явно указать, какие элементы отображать.
dan-gph

19

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

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


2
Community Edition была заменена платной версией для начинающих за 106,90 долларов США в год.
Эндрю Свон,

@Andrew Swan: как жаль .... все же - Liquid XML - отличный инструмент
marc_s

В настоящее время (март 2013 г.) доступна полностью функциональная бесплатная 30-дневная пробная версия (снова).
Jürgen Thelen

Ссылка xs3p, указанная выше, не работает. Кто-нибудь знает, куда это делось?
theMayer

13

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

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


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

2
JDeveloper XSD View выглядит нормально.
Карлос

6

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

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

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

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

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

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

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


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

С помощью редактора XML <oXygen /> :

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

См .: http://www.filigris.com/docflex-xml/OxygenXML/demo/html/xslt20/index.html

С Liquid XML Studio :

XSDDoc с диаграммами, созданными с помощью Liquid XML

См. Http://www.filigris.com/docflex-xml/LiquidXML/demo/html/XMLSchema/index.html.


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

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

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

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


5

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

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


Как открыть дизайнерскую поверхность?
Nitish Upreti

1
Область дизайна должна открыться, когда вы нажимаете Файл -> Открыть -> выбрать файл .xsd. В этот момент ваша xml-схема еще не отображается, поэтому поверхность конструктора вроде бы пуста ... Она откроется как пустая вкладка с некоторыми инструкциями о том, что делать. Текст гласит: «Визуализировать узлы в вашей схеме XML, перетащив их из проводника схемы XML на поверхность конструктора». Вам нужно щелкнуть это слово Обозреватель схемы XML, это ссылка, которая откроет вкладку сбоку (эта вкладка будет то содержать свои части XML - схемы , которые можно перетащить на поверхность дизайнера)
двуличный

Я не уверен, но это может быть функция, доступная только в корпоративной версии VS. Я не пробовал с другими редакциями VS.
амбидекстры

1
Visual Studio 2017 также может отображать структуру XSD.
Тони

4

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

Онлайн-просмотрщик схем XML

www.xml-tools.net

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


Я не вижу меню панели инструментов вверху в Google Chrome?
user310291

Подскажите пожалуйста версию ОС и браузера - спасибо!
Питер Раффельсбергер

Работает как шарм, спасибо. Наслаждайтесь своим голосом.
Корай Тугай

3

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

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

Минусы:

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

1

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

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


1

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


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

deadlock.netbeans.org/maven2 не работает. сейчас использовал свой личный репозиторий. попробуйте с новыми источниками ...
Сантош Кумар Текури

0

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


0

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

Экран поиска схемы Grid-ML

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.