Wie visualisiere ich ein XML-Schema? [geschlossen]

138

Ich habe ein XML-Schema erstellt - im Grunde genommen den gesamten Code - und mich gefragt, ob es eine Möglichkeit gibt, wie der Code so etwas generieren kann:

Geben Sie hier die Bildbeschreibung ein

Wenn ja, wie kann ich das machen?

matt
quelle
3
Wenn Sie Confluence verwenden, überprüfen Sie das neue XSD-Viewer-Plugin auf dem Atlassian Marketplace
1
Es sieht so aus, als ob das Tool, das ich gefunden habe, das ist, von dem das OP einen Screenshot hatte.
Toddmo
Welche Programmiersprache verwenden Sie? Wenn Sie nur nach einer Softwareempfehlung suchen, gibt es dafür bessere StackExchange-Sites.
Aminadav Glickshtein

Antworten:

68

Die Open Source-Befehlszeilen-Java-Anwendung xsdvi erstellt aus einer XML- Schemadefinition ein interaktives Diagramm im SVG-Format. Die generierte SVG-Datei kann von einem modernen Webbrowser angezeigt werden, in dem der Benutzer den Baum per Mausklick erweitern und reduzieren kann.

Hier ist ein Beispiel eines generierten Diagramms

http://xsdvi.sourceforge.net/ipo.svg

Die Software kann von heruntergeladen werden

http://sourceforge.net/projects/xsdvi/

Es kann wie folgt ausgeführt werden (vorausgesetzt, Java ist installiert und java.exebefindet sich im Pfad): -

  1. Gehen Sie zum dist/libOrdner.
  2. Führen Sie den folgenden Befehl aus java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style]
Erik Sjölund
quelle
2
Verwendung: java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style](von xsdvi.zip /res/readme.txt)
Roblogic
Das einzige Problem mit diesem Tool ist, dass die generierte SVG etwas langsam ist. Wenn ich nach dem Öffnen alle zusammenbreche, dauert es ungefähr fünfzehn Sekunden, bis es zusammenbricht. Aber es ist kostenlos ... also ...
Eine Illusion
Tolle Open Source Software! Das einzige Problem ist, dass die SVG große Datei sein wird und das Klicken auf die +/- Schaltfläche sehr langsam wird (3-5 Sekunden)
Xin Meng
Tolles Werkzeug! Ich frage mich, ob es möglich ist, eine solche Transformation XSD-> SVG mit XSLT
Dima Fomin
Ihr
müsst
52

XSD-Diagramm ist kostenlos (offene GNU-Lizenz), muss nicht erstellt werden und bietet ein interaktives Diagramm. Sie öffnen einfach die Datei und fügen die gewünschten Typen in das (anfangs leere) Diagramm ein. Ziemlich einfach.

Geben Sie hier die Bildbeschreibung ein

toddmo
quelle
3
Schön, läuft sogar mit dem neuesten Mono-MDK (4.0) unter OSX. Genau das, wonach ich gesucht habe
Erich Eichinger
1
Geniale kleine Software. Super leicht und benötigt keine JRE, schnell. Liebe es.
Mohammed Lokhandwala
Das ist ziemlich gut.
Uwe Ziegenhagen
30

Der in Oracle JDeveloper 11g integrierte Viewer ist meiner Ansicht nach dem für Eclipse verfügbaren überlegen (der neben anderen ungünstigen Vergleichspunkten nur für Indigo , nicht aber für Juno installiert werden konnte ). Wenn ich mich nicht irre, stellt Oracle den JDeveloper kostenlos zur Verfügung (erfordert nur eine Registrierung beim OTN).

Geben Sie hier die Bildbeschreibung ein

Marcus Junius Brutus
quelle
1
JDeveloper (Java Edition) hat den Job für mich gemacht, andere hier erwähnte Software ausprobiert, aber kein Glück.
SyAu
2
Beachten Sie bei der Verwendung unter OSX: Nach dem Entpacken der ZIP-Datei wird die Datei JDeveloper.app aufgrund eines Dateiberechtigungsproblems nicht gestartet. Sie müssen das ausführbare Bit in /Applications/jdeveloper/JDeveloper.app/Contents/MacOS/JDeveloper setzen. Dann wird es immer noch nicht gestartet, bis Sie den Pfad Ihres JDK in ~ / .jdev_jdk wie folgt speichern: echo $ JAVA_HOME> ~ / .jdev_jdk
user17481
Das funktioniert wie ein Zauber! Wir haben XMLSpy verwendet, um Bilder der API hinzuzufügen, was zu einigen unangenehmen Momenten führte, in denen wir jemanden mit einer Lizenz, jemanden mit einer Testversion oder jemanden fanden, der die Testversion nicht bereits installiert hatte, um die Bilder zu erstellen. Es schien albern, ein 500-Dollar-Programm nur für ein paar Bilder zu kaufen.
Captain Man
28

Sie können den Online-Viewer von XMLGrid verwenden , der eine hervorragende XSD-Unterstützung und viele andere Funktionen bietet:

  • Zeigen Sie XML-Daten in einem XML-Datenraster an.
  • Unterstützt XML-, XSL-, XSLT-, XSD- und HTML-Dateitypen.
  • Einfache Änderung oder Löschung vorhandener Knoten, Attribute, Kommentare.
  • Einfach, neue Knoten, Attribute oder Kommentare hinzuzufügen.
  • Einfach zu erweitern oder zu reduzieren XML-Knotenbaum.
  • XML-Quellcode anzeigen.

Bildschirmfoto:

Bildschirmfoto

Gelees
quelle
21

Unter Linux (mit Mono, verfügbar über apt-getDebian) und Windows:

Wenn Sie unter Windows arbeiten, empfehlen wir Ihnen einen Blick auf:

Beide Tools sind kostenlos und beide können ähnliche Visualisierungen bereitstellen, wie in Ihrem Beispiel gezeigt.

Datentyp
quelle
2
XSD-Diagramm ist wirklich schön. Vielen Dank. Eines ist zu beachten: Wenn Sie eine XSD laden, zeigt die App auf der Registerkarte "Diagramm" nichts an, nicht einmal das Stammelement. Ich dachte, es sei kaputt, aber es stellt sich heraus, dass Sie nur explizit angeben müssen, welche Elemente angezeigt werden sollen.
Dan-Gph
19

Wenn Sie eine einfache, textorientiertere Dokumentation Ihrer XSD benötigen , lesen Sie xs3p - ein XSLT-Stylesheet, das Ihre XSD in ein besser lesbares HTML-Format umwandelt. Ganz nett und völlig kostenlos.

Wenn das nicht genug ist, schauen Sie sich einige der kommerziellen Tools an - ich persönlich bevorzuge das Liquid XML Studio - nicht so teuer wie andere und genauso leistungsfähig!

marc_s
quelle
2
Die Community Edition wurde durch die nicht kostenlose Starter Edition für USD 106,90 pro Jahr ersetzt.
Andrew Swan
@ Andrew Swan: wie schade ... immer noch - Liquid XML ist ein großartiges Werkzeug
marc_s
Derzeit (März 2013) ist (wieder) eine voll funktionsfähige kostenlose 30-Tage-Testversion verfügbar.
Jürgen Thelen
Der oben genannte xs3p-Link funktioniert nicht. Weiß jemand wo es hingegangen ist?
theMayer
13

Dieses Bild wird mit einem XML-Schema-Bearbeitungstool wie Altovas XMLSpy generiert .

Es gibt eine Reihe von XML-Tools, die alle einen grafischen XSD-Viewer enthalten. Ich habe XML Spy einfach erwähnt, weil es der Markenführer ist. Auch viele allgemeine IDEs wie Eclipse, Visual Studio und Oracle JDeveloper können diesen Trick ausführen.

APC
quelle
2
In Eclipse können Sie mit der rechten Maustaste auf die XSD-Datei klicken und Öffnen mit -> Andere ... -> XML-Schema-Editor wählen, obwohl der Editor beim Durchsuchen einer 340-KB-Datei etwas nicht reagiert.
Andrew Swan
2
JDeveloper XSD View sieht gut aus.
Carlos
5

In Visual Studio 2013 ist ein ziemlich cooler Visualizer integriert.

Datei -> Öffnen -> Datei Wählen Sie Ihre .xsd-Datei aus und ziehen Sie die Elemente aus dem XML-Schema-Explorer auf die Designeroberfläche.

beidhändig
quelle
Wie öffne ich eine Designeroberfläche?
Nitish Upreti
1
Die Entwurfsoberfläche sollte sich öffnen, wenn Sie Datei -> Öffnen -> .xsd-Datei auswählen. Zu diesem Zeitpunkt wird Ihr XML-Schema noch nicht angezeigt, sodass die Designeroberfläche leer ist. Es wird als leere Registerkarte mit einigen Anweisungen zur Vorgehensweise geöffnet. Der Text lautet "Visualisieren Sie Knoten in Ihrem XML-Schemasatz, indem Sie sie aus dem XML-Schema-Explorer auf die Entwurfsoberfläche ziehen". Sie müssen auf dieses Wort klicken. XML-Schema-Explorer ist ein Link, der eine Registerkarte an der Seite öffnet (diese Registerkarte wird geöffnet) Dann enthalten Sie Ihre XML-Schemastücke, die Sie auf die Designeroberfläche ziehen können.
beidhändig
Ich bin nicht sicher, aber es könnte eine Funktion sein, die nur in der Enterprise Edition des VS verfügbar ist. Ich habe es nicht mit anderen VS-Editionen versucht.
beidhändig
Visual Studio 2017 kann auch die XSD-Struktur anzeigen.
Tony
5

Wir bieten ein Tool namens DocFlex / XML XSDDoc an , mit dem Sie beide Dinge gleichzeitig genießen können:

  • Diagrammwiederholung Ihres XML-Schemas
  • Alle diese Diagramme in eine hochentwickelte XML-Schemadokumentation einbetten (und mit Hyperlinks versehen)

Die Diagramme werden nicht von uns, sondern von Altova XMLSpy erstellt . Wir haben eine Integration mit XMLSpy implementiert (mit der vollständigen Unterstützung aller Diagramm-Hyperlinks):

XML-Schemadokumentation mit von XMLSpy generierten Diagrammen

Hier können Sie das vollständige Dokument sehen: http://www.filigris.com/docflex-xml/xsddoc/examples/html/XMLSchema/index.html

Das Ganze bietet eine Funktionalität, die derzeit von keinem einzelnen Anbieter auf dem Markt angeboten wird!

Einige unserer Kunden waren so beeindruckt, dass sie nur aufgrund unseres Tools eine zusätzliche Lizenz für XMLSpy erworben haben. (Das ist kein Scherz!)


Derzeit haben wir ähnliche Integrationen mit anderen XML-Editoren implementiert:

Mit <oXygen /> XML Editor :

XSDDoc mit Diagrammen, die vom <oXygen /> XML-Editor generiert wurden

Siehe: http://www.filigris.com/docflex-xml/OxygenXML/demo/html/xslt20/index.html

Mit Liquid XML Studio :

XSDDoc mit von Liquid XML generierten Diagrammen

Siehe: http://www.filigris.com/docflex-xml/LiquidXML/demo/html/XMLSchema/index.html


In Bezug auf die Darstellung all dieser Diagramme ... Im Wesentlichen geht es um das Inhaltsmodell von XSD-Elementen (sowie um andere XSD-Komponenten, die zu Elementen führen: complexTypes, Element- / Attributgruppen). Es scheint, dass es hier zwei Ansätze gibt:

  1. Um zu zeigen, wie ein Ergebnisinhaltsmodell (dargestellt durch die angegebene Komponente) aussehen würde. Das ist der Ansatz von XMLSpy.
  2. Zeigen, wie ein bestimmtes Inhaltsmodell (der angegebenen Komponente) von anderen Komponenten abgeleitet wurde. Das ist der Ansatz von <oXygen /> XML und Liquid XML.

Ich persönlich glaube, dass die von XMLSpy generierten Diagramme nützlicher sind.

Bisher gab es jedoch keine (mir zumindest bekannten) Versuche, alles andere, was in XML-Schemata enthalten ist, grafisch darzustellen, obwohl man sich viele vorstellen kann ...

Leonid Rudy
quelle
4

Es gibt ein neues kostenloses Webtool, in dem Sie jedes XML-Schema anzeigen können:

Online XML Schema Viewer

www.xml-tools.net

Es ist vollständig in JavaScript geschrieben und läuft daher in den meisten modernen Browsern.

Peter Raffelsberger
quelle
Ich kann oben in Google Chrome kein Symbolleistenmenü sehen.
user310291
Bitte sagen Sie mir Betriebssystem und Browser-Version - danke!
Peter Raffelsberger
Funktioniert wie ein Zauber, danke. Viel Spaß bei der Abstimmung.
Koray Tugay
3

Hier ist mein Ansatz: Laden Sie den Freemind- und CAM-XML-Vorlageneditor herunter . Öffnen Sie dann CAM XML, erstellen Sie eine neue Vorlage aus XML, Ansicht -> Vorlage als Mind Map-
Vorteile dieser Lösung anzeigen:

  • Es funktioniert lokal, so dass geheime Dateien verarbeitet werden können.
  • völlig kostenlos,
  • Open Source.

Nachteile:

  • Ziemlich instabil mit großen Dateien (mehr als 20 MB).
0x6B6F77616C74
quelle
1

Wir verwenden Liquid XML Studio, es bietet eine intuitive bearbeitbare Darstellung eines XSD-Schemas. Es zeigt auch die Inline-Anmerkungen, die wir sehr nützlich finden, und die Split-Code / gfx-Ansicht ist beim Schreiben oder Bearbeiten einer XSD von unschätzbarem Wert.

Liquid XML Studio XSD-Editor

Sprotty
quelle
1

Probieren Sie meinen xsd-Viewer aus, der unter https://github.com/santhosh-tekuri/jlibs verfügbar ist .

Santhosh Kumar Tekuri
quelle
Wenn ich dies versuche, aber deadlock.netbeans.org/maven2, wird ein 404-Fehler ausgegeben. Wenn ich die JAR-Datei org-netbeans-Swing-Outline aus NetBeans 6.9.1 verwende, erhalte ich eine NPE unter DefaultRenderDataProvider.java:49
Andrew Swan,
deadlock.netbeans.org/maven2 ist ausgefallen. Jetzt habe ich mein persönliches Repository benutzt. versuchen Sie es mit neuen Quellen ...
Santhosh Kumar Tekuri
0

Wenn jemand mit IBM Rational Application Developer zusammenarbeitet, ist ein XSD-Browser integriert.

ctomek
quelle
0

Der Grid-ML Schema Viewer eignet sich hervorragend zum Suchen und Visualisieren von XML-Schemas: https://gridml.com/xml-schema-viewer . Ich finde es besser als andere Tools, wenn es um große Schemata geht oder wenn das Durchsuchen eines Diagramms nicht möglich ist. Mit dem Tool können Sie auch den XPath- oder JSON-Pfad des Auswahlelements kopieren.

Grid-ML-Schemasuchbildschirm

Abdias Lira
quelle