Я сделал XML-схему - весь код в основном - и задавался вопросом, существует ли способ, которым код может генерировать что-то вроде этого:
Раз так, как я могу сделать это?
Если вам нужна простая, более текстовая документация по XSD, ознакомьтесь с xs3p - таблицей стилей XSLT, которая преобразит ваш XSD в более читаемый формат HTML. Довольно красиво и совершенно бесплатно.
Если этого недостаточно, ознакомьтесь с некоторыми коммерческими инструментами - я лично предпочитаю Liquid XML Studio - не такой дорогой, как другие, и столь же мощной!
Попробуйте мою программу xsd-viewer, доступную по адресу https://github.com/santhosh-tekuri/jlibs .
Это изображение создается с помощью инструмента редактирования XML-схемы, такого как XMLSpy Altova.
Существует ряд инструментов XML, каждый из которых будет включать Graphical 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-схемах, хотя можно представить себе многое...