Ich habe ein XML-Schema erstellt - im Grunde genommen den gesamten Code - und mich gefragt, ob es eine Möglichkeit gibt, mit dem Code so etwas zu generieren:
Wenn ja, wie kann ich das machen?
Die Open Source-Befehlszeile Java application xsdvi erstellt aus einer XML-Schemadefinition ein interaktives Diagramm im SVG-Format SVG-Dateien können von einem modernen Webbrowser angezeigt werden, in dem der Benutzer den Baum durch Klicken mit der Maus ein- und ausblenden 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.exe
steht im Pfad): -
dist/lib
Mappe.Java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style]
XSD-Diagramm ist kostenlos (GNU Open License), muss nicht erstellt werden und gibt ein interaktives Diagramm. Öffnen Sie einfach die Datei und fügen Sie die gewünschten Typen in das (anfangs leere) Diagramm ein. Ziemlich einfach.
Der Oracle JDeveloper 11g eingebaute Viewer ist aus meiner Sicht dem für Eclipse verfügbaren überlegen (was ich neben anderen ungünstigen Vergleichspunkten nur konnte Installiere für Indigo, aber nicht für Juno). Wenn ich mich nicht irre Oracle stellt den JDeveloper kostenlos zur Verfügung (erfordert nur eine Registrierung bei der OTN).
Sie können den Online-Viewer von XMLGrid verwenden, der eine hervorragende XSD-Unterstützung und viele andere Funktionen bietet:
Bildschirmfoto:
Wenn Sie eine einfachere, 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 auch nicht so leistungsfähig!
Unter Linux (mit Mono verfügbar über apt-get
unter Debian) und Windows:
Wenn Sie unter Windows arbeiten, empfehle ich Ihnen einen Blick auf:
Beide Tools sind kostenlos und beide können ähnliche Visualisierungen liefern, wie in Ihrem Beispiel gezeigt.
Dieses Bild wird mit einem XML-Schema-Bearbeitungstool wie Altovas XMLSpy erstellt.
Es gibt eine Reihe von XML-Tools, die alle einen grafischen XSD-Viewer enthalten. Ich habe XML Spy nur deshalb 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.
Wir bieten ein Tool namens DocFlex/XML XSDDoc an, mit dem Sie beide Dinge gleichzeitig genießen können:
Die Diagramme werden tatsächlich nicht von uns generiert, sondern von Altova XMLSpy . Wir haben eine Integration mit XMLSpy implementiert (mit der vollen Unterstützung aller Diagramm-Hyperlinks):
Das vollständige Dokument finden Sie hier: http://www.filigris.com/docflex-xml/xsddoc/examples/html/XMLSchema/index.html
Das Ganze bietet eine Funktionalität, die derzeit von keinem einzigen 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 Witz!)
Derzeit haben wir ähnliche Integrationen in andere XML-Editoren implementiert:
Siehe: http://www.filigris.com/docflex-xml/OxygenXML/demo/html/xslt20/index.html
Siehe: http://www.filigris.com/docflex-xml/LiquidXML/demo/html/XMLSchema/index.html
Was all diese Diagramme darstellen ... Im Wesentlichen handelt es sich um Inhaltsmodelle von XSD-Elementen (sowie andere XSD-Komponenten, die zu Elementen führen: complexTypes, Element-/Attributgruppen). Anscheinend gibt es hier zwei Ansätze:
Ich persönlich glaube, dass die von XMLSpy generierten Diagramme nützlicher sind.
Bisher gab es jedoch keine Versuche (zumindest mir bekannt), etwas anderes in XML-Schemata grafisch darzustellen, obwohl man sich viele vorstellen kann ...
In Visual Studio 2013 ist ein ziemlich cooler Visualizer integriert.
Datei -> Öffnen -> Datei wählen Sie Ihre .xsd aus und ziehen Sie die Elemente aus dem XML-Schema-Explorer auf die Designeroberfläche.
Es gibt ein neues kostenloses Webtool, mit dem Sie jedes XML-Schema anzeigen können:
Es ist komplett in JavaScript geschrieben und läuft daher in den meisten modernen Browsern.
Hier ist mein Ansatz - lade die freemind und CAM XML Template Editor herunter. Öffnen Sie dann CAM XML, erstellen Sie eine neue Vorlage aus XML, Ansicht -> Vorlage als Mind Map anzeigen
Vorteile dieser Lösung:
Nachteile:
Wir verwenden Liquid XML Studio, es bietet eine intuitive bearbeitbare Darstellung eines XSD-Schemas. Es zeigt auch die Inline-Annotationen, die wir sehr nützlich finden, und die Split-Code/Gfx-Ansicht ist von unschätzbarem Wert, wenn Sie eine XSD schreiben oder bearbeiten.
Probieren Sie meinen xsd-viewer aus, der unter https://github.com/santhosh-tekuri/jlibs verfügbar ist.
Wenn jemand mit IBM Rational Application Developer arbeitet, ist ein XSD-Browser integriert.
Grid-ML Schema Viewer eignet sich hervorragend zum Suchen und Visualisieren von XML-Schemata: 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 machbar ist. Mit dem Tool können Sie auch den XPath- oder JSON-Pfad des Auswahlelements kopieren.