Хобрук: Ваш путь к мастерству в программировании

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

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

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

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

21.03.2010

  • Если вы используете Confluence, ознакомьтесь с новым плагином для просмотра XSD в Atlassian Торговая площадка 26.02.2013
  • похоже, что инструмент, который я нашел, является тем, что OP был снимок экрана. 25.03.2015
  • Какой язык программирования вы используете? Если вы просто ищете рекомендации по программному обеспечению, для этого есть лучшие сайты StackExchange. 18.08.2019

Ответы:


1

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]
18.04.2013
  • использование: java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style] (из xsdvi.zip /res/readme.txt) 14.06.2016
  • Единственная проблема с этим инструментом заключается в том, что сгенерированный SVG немного медленный. Например, если я «сверну все» после открытия, это займет около пятнадцати секунд. Но это бесплатно... так что... 07.03.2017
  • Отличное программное обеспечение с открытым исходным кодом! единственная проблема в том, что SVG будет большим файлом, и нажатие кнопки +/- станет очень медленным (3-5 секунд) 21.05.2017
  • Отличный инструмент! Интересно, можно ли сделать такое преобразование XSD->SVG с XSLT 20.06.2017
  • Вам, ребята, нужно купить более быстрый компьютер :) У меня все работает, действительно хороший инструмент. 21.12.2017
  • Кажется, он не обновлялся более 10 лет ... Определение XSD не развивается слишком быстро, но это все еще поднимает вопрос, актуальна ли поддержка формата. 28.08.2019
  • Пробовал этот и XSD Diagram со сложным XSD 700кб и 150кб примерно. Этот инструмент генерирует исключение в потоке main java.lang.OutOfMemoryError: пространство кучи Java даже после предоставления более ГБ памяти. Я бы порекомендовал XSD Diagram для интерактивного просмотра после того, как попробовал эти два 18.08.2020

  • 2

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

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

    06.03.2014
  • хороший, работает даже с последней версией Mono-MDK (4.0) на OSX. Именно то, что я искал 22.07.2015
  • Блестящий маленький софт. Супер легкий вес и не требует JRE, быстро. Любить это. 03.05.2020
  • Это очень хорошо. 02.06.2020
  • И он находится в репозитории Ubuntu по умолчанию — непонятно, почему официальный сайт не упоминает об этом? 16.03.2021

  • 3

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

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

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

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

    23.04.2013

    4

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

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

    30.04.2013
  • JDeveloper (версия Java) сделал эту работу за меня, попробовал другие упомянутые здесь программы, но безуспешно. 20.06.2013
  • Будьте осторожны при использовании его в OSX: после распаковки ZIP-файла JDeveloper.app не запустится из-за проблемы с правами доступа к файлу. Вы должны установить исполняемый бит в /Applications/jdeveloper/JDeveloper.app/Contents/MacOS/JDeveloper. Затем он все равно не запустится, пока вы не сохраните путь вашего JDK в ~/.jdev_jdk следующим образом: echo $JAVA_HOME › ~/.jdev_jdk 08.07.2013
  • Это работает как шарм! Раньше мы использовали XMLSpy для добавления изображений API, что приводило к некоторым неловким моментам поиска кого-то, у кого была лицензия, кто-то, у кого была пробная версия, или кто-то, кто еще не установил пробную версию, чтобы сделать изображения. Казалось глупым покупать программу за 500 долларов только за пару картинок. 14.09.2016

  • 5

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

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

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

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

    29.11.2012
  • XSD-диаграмма действительно хороша. Спасибо. Следует отметить одну вещь: когда вы загружаете XSD, приложение ничего не показывает на вкладке диаграммы, даже корневой элемент. Я думал, что он сломан, но оказалось, что вам просто нужно явно указать, какие элементы показывать. 30.06.2015
  • лучший ответ ! для Linux: sudo apt install xsddiagram установить XSDDiagram 28.01.2021

  • 6

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

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

    21.03.2010
  • Версия Community Edition была заменена платной версией Starter Edition за 106,90 долларов США в год. 29.09.2010
  • @Andrew Swan: какая жалость.... тем не менее - Liquid XML - отличный инструмент 29.09.2010
  • В настоящее время (март 2013 г.) доступна полнофункциональная бесплатная 30-дневная пробная версия (снова). 20.03.2013
  • Ссылка xs3p, указанная выше, не работает. Кто-нибудь знает, куда он делся? 29.06.2016

  • 7

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

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

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

  • 8

    Мы предлагаем инструмент под названием 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-редактором ‹oXygen/›:

    XSDDoc с диаграммами, сгенерированными ‹oXygen/› 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, ведущих к элементам: сложных типов, групп элементов/атрибутов). Кажется, здесь есть два подхода:

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

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

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

    28.05.2010

    9

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

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

    29.03.2015
  • Как открыть дизайнерскую поверхность? 11.04.2017
  • Поверхность конструктора должна открываться, когда вы делаете «Файл» -> «Открыть» -> выбираете файл .xsd. В этот момент ваша схема xml еще не отображается, поэтому поверхность конструктора как бы пуста... Она откроется как пустая вкладка с некоторыми инструкциями о том, что делать. Текст гласит: «Визуализируйте узлы в наборе схем XML, перетащив их из обозревателя схем XML на поверхность проектирования». ваши фрагменты схемы xml, которые вы можете перетащить на поверхность дизайнера) 12.04.2017
  • Я не уверен, но это может быть функция, доступная только в корпоративной версии VS. Я не пробовал с другими выпусками VS. 12.04.2017
  • Visual Studio 2017 также может отображать структуру XSD. 09.07.2017

  • 10

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

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

    www.xml-tools.net

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

    30.07.2017
  • Я не вижу меню панели инструментов вверху в Google Chrome? 18.08.2017
  • Подскажите пожалуйста версию ОС и браузера - спасибо! 18.08.2017
  • Работает как шарм, спасибо. Наслаждайтесь своим голосом. 20.04.2018

  • 11

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

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

    Минусы:

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

    12

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

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

    10.02.2015

    13

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

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

  • 14

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

    12.02.2016

    15

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

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

    17.08.2019
    Новые материалы

    Управление DOM для чайников вроде меня
    Одной из первых вещей, которую мы рассмотрели, когда начали изучать Javascript во Flatiron, была модель DOM. Кто он? Чем он занимается? Он больше машина, чем человек? Ну да довольно много. ДОМ..

    Что такое структура данных?
    Структура данных хранит и извлекает данные. Все, что обеспечивает эти две функции, является структурой данных . Период. Вы можете пропустить оставшуюся часть статьи, если ответ..

    мои январские чтения по программированию
    Эрик Эллиот Программирование приложения JavaScript Эл Свейгарт «Автоматизируйте скучные вещи с помощью Python» Прогрессивное веб-приложение Google..

    Создание ассоциаций секвелизации с помощью инструмента командной строки Sequelize
    Sequelize - популярный, простой в использовании инструмент объектно-реляционного сопоставления (ORM) JavaScript, который работает с базами данных SQL. Довольно просто начать новый проект с..

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

    Введение в машинное обучение для обнаружения аномалий (часть 1)
    Тщательно созданный, тщательно спроектированный ресурс для специалистов по данным. Часть 1 Главы 03 из Руководства по машинному обучению для обнаружения аномалий Внимание! Прежде чем вы..

    Начало работы с Pulumi в Digital Ocean
    Цифровой океан (ДО) — отличная альтернатива многим другим поставщикам облачных услуг. DO предоставляет простой и понятный пользовательский интерфейс, упрощающий управление инфраструктурой и..