Ho creato uno schema XML - praticamente tutto il codice - e mi chiedevo se c'è un modo in cui il codice può generare qualcosa del genere:
In tal caso, come posso farlo?
Ho creato uno schema XML - praticamente tutto il codice - e mi chiedevo se c'è un modo in cui il codice può generare qualcosa del genere:
In tal caso, come posso farlo?
Risposte:
L'applicazione java xsdvi da riga di comando open source crea un diagramma interattivo in formato SVG da una definizione di schema XML. Il file SVG generato può essere visualizzato da un moderno browser Web in cui l'utente può espandere e comprimere l'albero facendo clic con il mouse.
Ecco un esempio di diagramma generato
http://xsdvi.sourceforge.net/ipo.svg
Il software può essere scaricato da
http://sourceforge.net/projects/xsdvi/
Può essere eseguito come segue (supponendo che Java sia installato e java.exe
si trovi nel percorso): -
dist/lib
cartella.java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style]
java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style]
(da xsdvi.zip /res/readme.txt)
XSD Diagram è gratuito (licenza GNU aperta), non ha bisogno di essere costruito e fornisce un diagramma interattivo. Basta aprire il file e aggiungere i tipi desiderati nel diagramma (inizialmente vuoto). Abbastanza diretto.
Il visualizzatore integrato Oracle JDeveloper 11g è a mio avviso superiore a quello disponibile per Eclipse (che, oltre ad altri punti di confronto sfavorevoli, ho potuto installare solo per Indigo ma non per Juno ). Se non sbaglio Oracle rende JDeveloper disponibile gratuitamente (richiede solo la registrazione presso l'OTN).
Puoi usare il visualizzatore online di XMLGrid che fornisce un ottimo supporto XSD e molte altre funzionalità:
Immagine dello schermo:
Su Linux (con mono, disponibile apt-get
su Debian) e Windows:
Se sei su Windows ti consiglio di dare un'occhiata a:
Entrambi gli strumenti sono gratuiti ed entrambi sono in grado di fornire visualizzazioni simili come mostrato nell'esempio.
Se hai bisogno di una documentazione semplice e più orientata al testo della tua XSD, dai un'occhiata a xs3p , un foglio di stile XSLT che trasformerà la tua XSD in un formato HTML più leggibile. Abbastanza carino e totalmente gratuito.
Se ciò non bastasse, controlla alcuni degli strumenti commerciali là fuori - io personalmente preferisco Liquid XML Studio - non è costoso come gli altri e abbastanza capace!
Quell'immagine è generata da uno strumento di modifica dello schema XML, come XMLSpy di Altova .
Ci sono un certo numero di strumenti XML in giro, ognuno dei quali includerà un Visualizzatore grafico XSD. Ho citato XML Spy semplicemente perché è il leader del marchio. Anche molti IDE generali come Eclipse, Visual Studio e Oracle JDeveloper saranno in grado di fare questo trucco.
Visual Studio 2013 ha un visualizzatore piuttosto interessante integrato.
File -> Apri -> File scegli il tuo .xsd e trascina gli elementi da XML Schema Explorer sulla superficie di progettazione.
Offriamo uno strumento chiamato DocFlex / XML XSDDoc che ti consente di goderti entrambe le cose contemporaneamente:
I diagrammi infatti non sono generati da noi, ma da Altova XMLSpy . Abbiamo implementato un'integrazione con XMLSpy (con il pieno supporto di tutti i collegamenti ipertestuali del diagramma):
Qui puoi vedere l'intero documento: http://www.filigris.com/docflex-xml/xsddoc/examples/html/XMLSchema/index.html
Il tutto fornisce una funzionalità non offerta da nessun singolo fornitore in questo momento sul mercato!
Alcuni dei nostri clienti sono rimasti così colpiti che hanno acquistato una licenza aggiuntiva per XMLSpy solo grazie al nostro strumento. (Non è uno scherzo!)
Attualmente, abbiamo anche implementato integrazioni simili con altri editor XML:
Vedi: http://www.filigris.com/docflex-xml/OxygenXML/demo/html/xslt20/index.html
Vedi: http://www.filigris.com/docflex-xml/LiquidXML/demo/html/XMLSchema/index.html
Per quanto riguarda ciò che descrivono tutti quei diagrammi ... In sostanza, riguardano tutti il modello di contenuto degli elementi XSD (così come altri componenti XSD che portano a elementi: complexTypes, element / element group). Sembra che ci siano due approcci qui:
Personalmente credo che i diagrammi generati da XMLSpy siano più utili.
Tuttavia, finora non ci sono stati tentativi (almeno per me noti) di rappresentare graficamente qualsiasi altra cosa contenuta negli schemi XML, sebbene si possano immaginare molti ...
Esiste un nuovo webtool gratuito, in cui è possibile visualizzare qualsiasi schema XML:
Visualizzatore di schemi XML online
È completamente scritto in JavaScript, quindi funziona nella maggior parte dei browser moderni.
Ecco il mio approccio: scarica Freemind e CAM XML Template Editor . Quindi apri CAM XML, crea un nuovo modello da XML, Visualizza -> Visualizza modello come mappa mentale
Pro di questa soluzione:
Contro:
Prova il mio xsd-viewer disponibile da https://github.com/santhosh-tekuri/jlibs .
Grid-ML Schema Viewer è ottimo per la ricerca e la visualizzazione di schemi XML: https://gridml.com/xml-schema-viewer . Lo trovo migliore di altri strumenti quando si tratta di schemi di grandi dimensioni o quando non è possibile sfogliare un diagramma. Lo strumento consente inoltre di copiare il percorso XPath o JSON dell'elemento di selezione.