J'ai créé un schéma XML - tout le code en gros - et je me demandais s'il y avait un moyen pour que le code puisse générer quelque chose comme ceci:
Si oui, comment puis-je le faire?
J'ai créé un schéma XML - tout le code en gros - et je me demandais s'il y avait un moyen pour que le code puisse générer quelque chose comme ceci:
Si oui, comment puis-je le faire?
Réponses:
L'application java en ligne de commande open source xsdvi crée un diagramme interactif au format SVG à partir d'une définition de schéma XML. Le fichier SVG généré peut être affiché par un navigateur Web moderne où l'utilisateur peut développer et réduire l'arborescence en cliquant avec la souris.
Voici un exemple de diagramme généré
http://xsdvi.sourceforge.net/ipo.svg
Le logiciel peut être téléchargé depuis
http://sourceforge.net/projects/xsdvi/
Il peut être exécuté comme suit (en supposant que Java est installé et se java.exe
trouve dans le chemin): -
dist/lib
dossier.java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style]
java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style]
(à partir de xsdvi.zip /res/readme.txt)
Le diagramme XSD est gratuit (licence ouverte GNU), n'a pas besoin d'être construit et donne un diagramme interactif. Il vous suffit d'ouvrir le fichier et d'ajouter les types souhaités sur le diagramme (initialement vide). Assez simple.
Le visualiseur intégré Oracle JDeveloper 11g est à mon avis supérieur à celui disponible pour Eclipse (qui, en plus d'autres points de comparaison défavorables, je n'ai pu installer que pour Indigo mais pas pour Juno ). Si je ne me trompe pas, Oracle rend le JDeveloper disponible gratuitement (nécessite uniquement une inscription à l'OTN).
Vous pouvez utiliser la visionneuse en ligne de XMLGrid qui fournit un excellent support XSD et de nombreuses autres fonctionnalités:
Capture d'écran:
Sous Linux (avec mono, disponible via apt-get
Debian) et Windows:
Si vous êtes sous Windows, je vous recommande de jeter un œil à:
Les deux outils sont gratuits et sont tous deux capables de fournir des visualisations similaires, comme indiqué dans votre exemple.
Si vous avez besoin d'une documentation simple et plus orientée texte de votre XSD, consultez xs3p - une feuille de style XSLT qui transformera votre XSD en un format HTML plus lisible. Assez sympa et totalement gratuit.
Si cela ne suffit pas, jetez un œil à certains des outils commerciaux - je préfère personnellement Liquid XML Studio - pas aussi cher que d'autres, et tout aussi performant!
Cette image est générée à partir d'un outil d'édition de schéma XML, tel que XMLSpy d'Altova .
Il existe un certain nombre d'outils XML, qui comprendront tous une visionneuse graphique XSD. J'ai mentionné XML Spy simplement parce que c'est le leader de la marque. De plus, de nombreux IDE généraux comme Eclipse, Visual Studio et Oracle JDeveloper pourront faire cette astuce.
Visual Studio 2013 a un visualiseur assez cool intégré.
Fichier -> Ouvrir -> Fichier choisissez votre .xsd, puis faites glisser les éléments de l'Explorateur de schémas XML sur la surface du concepteur.
Nous proposons un outil appelé DocFlex / XML XSDDoc qui vous permet de profiter des deux choses à la fois:
Les diagrammes ne sont en fait pas générés par nous, mais par Altova XMLSpy . Nous avons implémenté une intégration avec XMLSpy (avec le support complet de tous les hyperliens de diagramme):
Ici vous pouvez voir l'intégralité de ce document: http://www.filigris.com/docflex-xml/xsddoc/examples/html/XMLSchema/index.html
Le tout fournit une fonctionnalité qui n'est proposée par aucun fournisseur unique actuellement sur le marché!
Certains de nos clients ont été tellement impressionnés qu'ils ont acheté une licence supplémentaire pour XMLSpy uniquement grâce à notre outil. (Ce n'est pas une blague!)
Actuellement, nous avons également implémenté des intégrations similaires avec d'autres éditeurs XML:
Voir: http://www.filigris.com/docflex-xml/OxygenXML/demo/html/xslt20/index.html
Voir: http://www.filigris.com/docflex-xml/LiquidXML/demo/html/XMLSchema/index.html
Concernant ce que tous ces diagrammes représentent ... Essentiellement, ils concernent tous le modèle de contenu des éléments XSD (ainsi que d'autres composants XSD qui mènent à des éléments: complexTypes, groupes d'éléments / d'attributs). Il semble qu'il existe deux approches ici:
Je pense personnellement que les diagrammes générés par XMLSpy sont plus utiles.
Pourtant, il n'y a eu jusqu'à présent aucune tentative (du moins à ma connaissance) de représenter graphiquement quoi que ce soit d'autre contenu dans les schémas XML, bien que l'on puisse en imaginer beaucoup ...
Il existe un nouvel outil Web gratuit, dans lequel vous pouvez afficher n'importe quel schéma XML:
Visionneuse de schémas XML en ligne
Il est entièrement écrit en JavaScript, donc il fonctionne dans la plupart des navigateurs modernes.
Voici mon approche - téléchargez l' éditeur de modèles Freemind et CAM XML . Ensuite, ouvrez CAM XML, créez un nouveau modèle à partir de XML, View -> View Template As Mind Map
Pros de cette solution:
Les inconvénients:
Essayez mon xsd-viewer disponible sur https://github.com/santhosh-tekuri/jlibs .
Grid-ML Schema Viewer est idéal pour rechercher et visualiser des schémas XML: https://gridml.com/xml-schema-viewer . Je le trouve meilleur que d'autres outils lorsqu'il s'agit de grands schémas ou lorsque la navigation dans un diagramme n'est pas faisable. L'outil vous permet également de copier le chemin XPath ou JSON de l'élément de sélection.