Я сделал XML-схему - весь код в основном - и задавался вопросом, есть ли способ, которым код может генерировать что-то вроде этого:
Если да, то как я могу это сделать?
Я сделал XML-схему - весь код в основном - и задавался вопросом, есть ли способ, которым код может генерировать что-то вроде этого:
Если да, то как я могу это сделать?
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]
Диаграмма XSD бесплатна (открытая лицензия GNU), ее не нужно строить и дает интерактивную диаграмму. Вы просто открываете файл и добавляете нужные типы на диаграмме (первоначально пустой). Довольно прямо.
Встроенный просмотрщик Oracle JDeveloper 11g на мой взгляд превосходит тот, который доступен для Eclipse (который в дополнение к другим неблагоприятным точкам сравнения я мог получить только для установки Indigo, но не для Juno). Если я не ошибаюсь, Oracle делает JDeveloper доступным бесплатно (требуется только регистрация в OTN).
Вы можете использовать XMLGrid Онлайн-просмотрщик, который обеспечивает отличную поддержку XSD и многие другие функции:
Скриншот:
Если вам нужна простая, более текстовая документация вашего XSD, посмотрите xs3p - таблицу стилей XSLT, которая преобразует ваши XSD в более читаемый формат HTML. Очень приятно и совершенно бесплатно.
Если этого недостаточно, ознакомьтесь с некоторыми коммерческими инструментами - я лично предпочитаю Liquid XML Studio - не так дорого, как другие, и так же способно!
В Linux (с моно, доступным через apt-get
на Debian) и Windows:
Если вы находитесь в Windows, я рекомендую вам посмотреть:
Оба инструмента бесплатны, и оба могут предоставить аналогичные визуализации, как показано в вашем примере.
Это изображение создается с помощью инструмента редактирования XML Schema, такого как Altova XMLSpy.
Существует целый ряд XML-инструментов, каждый из которых будет включать графический XSD Viewer. Я упомянул XML Spy просто потому, что это лидер бренда. Также многие общие IDE, такие как Eclipse, Visual Studio и Oracle JDeveloper, смогут выполнить этот трюк.
Мы предлагаем инструмент под названием DocFlex/XML XSDDoc, который позволяет вам одновременно пользоваться обоими вещами:
Диаграммы на самом деле генерируются не нами, а Altova XMLSpy. Мы внедрили Интеграция с XMLSpy (при полной поддержке всех гиперссылок):
Здесь вы можете увидеть полный этот документ: http://www.filigris.com/docflex-xml/xsddoc/examples/html/XMLSchema/index.html
Все это обеспечивает функциональность, не предлагаемую ни одним поставщиком прямо сейчас на рынке!
Некоторые наши клиенты были настолько впечатлены, что приобрели дополнительную лицензию для XMLSpy только из-за нашего инструмента. (Это не шутка!)
В настоящее время мы также реализовали аналогичную интеграцию с другими редакторами XML:
Смотрите: http://www.filigris.com/docflex-xml/OxygenXML/demo/html/xslt20/index.html
Смотрите: http://www.filigris.com/docflex-xml/LiquidXML/demo/html/XMLSchema/index.html
Относительно того, что изображают все эти диаграммы... По сути, все они касаются модели контента элементов XSD (а также других компонентов XSD, которые приводят к элементам: complexTypes, группы элементов/атрибутов). Кажется, здесь есть два подхода:
Я лично считаю, что диаграммы, сгенерированные XMLSpy, более полезны.
Тем не менее, до сих пор не было (по крайней мере, мне известно) попыток графически изобразить что-либо еще, содержащееся в XML-схемах, хотя можно представить много...
В Visual Studio 2013 есть довольно классный визуализатор.
Файл → Открыть → Файл выберите ваш .xsd, а затем перетащите элементы из XML Schema Explorer на поверхность конструктора.
Вот мой подход - загрузите freemind и CAM XML Редактор шаблонов.
Затем откройте CAM XML, создайте новый шаблон из XML, View → View Template As Mind Map
Плюсы этого решения:
Минусы:
Существует новый бесплатный webtool, где вы можете просмотреть любую xml-схему:
Средство просмотра XML в Интернете
Он полностью написан в JavaScript, поэтому он работает в большинстве современных браузеров.
Мы используем Liquid XML Studio, он обеспечивает интуитивно понятное редактируемое представление схемы XSD. Он также показывает аннотации inline, которые мы находим очень полезными, и просмотр split/gfx бесценен при написании или редактировании XSD.
Попробуйте воспользоваться моим xsd-viewer из https://github.com/santhosh-tekuri/jlibs.
Если кто-то работает с IBM Rational Application Developer, то в нем встроен браузер XSD.
Grid-ML Schema Viewer отлично подходит для поиска и визуализации XML-схем: https://gridml.com/xml-schema-viewer. Я считаю, что это лучше, чем другие инструменты, когда речь идет о больших схемах или когда просмотр диаграммы не представляется возможным. Этот инструмент также позволяет копировать путь XPath или JSON элемента выбора.