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:
Wenn ja, wie kann ich das machen?
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:
Wenn ja, wie kann ich das machen?
Antworten:
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.exe
befindet sich im Pfad): -
dist/lib
Ordner.java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style]
java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style]
(von xsdvi.zip /res/readme.txt)
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.
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).
Sie können den Online-Viewer von XMLGrid verwenden , der eine hervorragende XSD-Unterstützung und viele andere Funktionen bietet:
Bildschirmfoto:
Unter Linux (mit Mono, verfügbar über apt-get
Debian) 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.
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!
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.
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.
Wir bieten ein Tool namens DocFlex / XML XSDDoc an , mit dem Sie beide Dinge gleichzeitig genießen können:
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):
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:
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
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:
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 ...
Es gibt ein neues kostenloses Webtool, in dem Sie jedes XML-Schema anzeigen können:
Es ist vollständig in JavaScript geschrieben und läuft daher in den meisten modernen Browsern.
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:
Nachteile:
Probieren Sie meinen xsd-Viewer aus, der unter https://github.com/santhosh-tekuri/jlibs verfügbar ist .
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.