J'ai créé un schéma XML - tout le code en gros - et je me demandais s'il était possible que le code génère quelque chose comme ceci:
Si oui, comment puis-je le faire?
La ligne de commande open source Java application 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é à partir de
http://sourceforge.net/projects/xsdvi/
Il peut être exécuté comme suit (en supposant que Java est installé et que Java.exe
se trouve dans le chemin): -
dist/lib
.Java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style]
Diagramme XSD est libre (licence ouverte GNU), ne nécessite pas de construction et donne un diagramme interactif. Vous ouvrez simplement le fichier et ajoutez 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 des autres points de comparaison défavorables que je n'ai pu installer que pour Indigo mais pas pour Juno ). Si je ne me trompe pas Oracle rend JDeveloper disponible gratuitement (nécessite uniquement une inscription auprès de l'OTN).
Vous pouvez utiliser la visionneuse en ligne de XMLGrid , qui fournit une excellente prise en charge de XSD et de nombreuses autres fonctionnalités:
Capture d'écran:
Si vous avez besoin d'une documentation simple et plus textuelle de votre XSD, consultez xs3p - une feuille de style XSLT qui transformera votre XSD en un format HTML plus lisible. Très agréable et totalement gratuit.
Si cela ne suffit pas, jetez un œil à certains des outils commerciaux disponibles - je préfère personnellement le Liquid XML Studio - pas aussi cher que d’autres, et tout aussi performant!
Sous Linux (avec mono, disponible via apt-get
sur Debian) et Windows:
Si vous êtes sous Windows, je vous recommande de regarder:
Les deux outils sont gratuits et peuvent fournir des visualisations similaires à celles illustrées dans votre exemple.
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 un visualiseur graphique XSD. J'ai mentionné XML Spy simplement parce que c'est le leader de la marque. De nombreux IDE généraux comme Eclipse, Visual Studio et Oracle JDeveloper seront capables de faire cette astuce.
Nous proposons un outil appelé DocFlex/XML XSDDoc qui vous permet de profiter des deux choses à la fois:
Les diagrammes sont en fait générés non par nous, mais par Altova XMLSpy . Nous avons implémenté un intégration avec XMLSpy (avec le support complet de tous les hyperliens de diagramme):
Ici vous pouvez voir la doc complète: http://www.filigris.com/docflex-xml/xsddoc/examples/html/XMLSchema/index.html
L'ensemble fournit une fonctionnalité qui n'est proposée par aucun fournisseur en ce moment sur le marché!
Certains de nos clients ont été tellement impressionnés qu’ils ont acheté une licence supplémentaire pour XMLSpy uniquement à cause de 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
En ce qui concerne ce que tous ces diagrammes décrivent ... Ils concernent essentiellement le modèle de contenu des éléments XSD (ainsi que d'autres composants XSD conduisant à des éléments: complexTypes, groupes d'éléments/d'attributs). Il semble y avoir deux approches ici:
Personnellement, je pense que les diagrammes générés par XMLSpy sont plus utiles.
Pourtant, rien n'a encore été fait (du moins à ma connaissance) pour décrire graphiquement quoi que ce soit d'autre contenu dans les schémas XML, bien qu'on puisse en imaginer beaucoup ...
Visual Studio 2013 a un visualiseur assez cool intégré.
Fichier -> Ouvrir -> Fichier, sélectionnez votre fichier .xsd, puis faites glisser les éléments de XML Schema Explorer vers la surface du concepteur.
Il existe un nouvel outil Web gratuit à utiliser, dans lequel vous pouvez afficher n’importe quel schéma xml:
Visionneuse de schéma XML en ligne
Il est écrit entièrement en JavaScript, il est donc utilisé dans la plupart des navigateurs modernes.
Voici mon approche - télécharger le freemind et éditeur de modèle CAM XML . Ensuite, ouvrez CAM XML, créez un nouveau modèle à partir de XML, Afficher -> Afficher un modèle sous forme de carte mentale
Avantages de cette solution:
Les inconvénients:
Nous utilisons Liquid XML Studio, il fournit une représentation éditable et intuitive d’un schéma XSD. Il montre également les annotations en ligne, ce que nous trouvons très utile et la vue code divisé/gfx est inestimable lors de l’écriture ou de la modification d’un fichier XSD.
Essayez mon xsd-viewer disponible sur https://github.com/santhosh-tekuri/jlibs .
Si quelqu'un travaille avec IBM Rational Application Developer, le navigateur XSD y est intégré.
Grid-ML Schema Viewer est idéal pour la recherche et la visualisation de schémas XML: https://gridml.com/xml-schema-viewer . Je trouve que c'est meilleur que les autres outils quand il s'agit de gros schémas ou quand parcourir 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.