Frage Wie man XSD aus XML-Elementen generiert


Ich habe eine XML-Eingabe

<field>
  <name>id</name>
  <dataType>string</dataType>
  <maxlength>42</maxlength>
  <required>false</required>
</field>

Ich suche nach einer Bibliothek oder einem Werkzeug, das ein XML-Instanzdokument nimmt und ein entsprechendes XSD-Schema ausgibt.

Ich suche nach einer Java-Bibliothek, mit der ich eine XSD für die obige XML-Struktur generieren kann


7
2018-05-07 13:24


Ursprung


Antworten:


Wenn alles, was Sie wollen, ein XSD ist, so dass die von Ihnen angegebene XML konform ist, wäre es viel besser, wenn Sie es selbst erstellen, anstatt ein Werkzeug zu verwenden.

Niemand kennt besser als Sie die Besonderheiten des Schemas, zB welche gültigen Werte es gibt (zum Beispiel ist der <maxlength> Element benötigt? sind true und false die einzigen gültigen Werte für <required>?).

Wenn Sie wirklich ein Werkzeug verwendet werden soll (ich Rat nur würde verwenden es, wenn Sie die XML entwickelt haben und wirklich nicht die reale XSD bekommen kann - oder, wenn Sie es entworfen, überprüfen Sie die generierte XSD), könnten Sie versuchen, Trang. Es kann ein XSD-Schema aus einer Anzahl von Beispiel-XMLs ableiten.

Sie müssen berücksichtigen, dass das XSD-Tool möglicherweise darauf schließen lässt, dass Sie unvollständig oder ungenau sind, wenn XML-Beispiele nicht repräsentativ genug sind.

java -jar trang.jar sampleXML.xml inferredXSD.xsd

Sie können eine finden Anwendungsbeispiel von Trang hier.


9
2018-05-07 13:41



Sie können versuchen, mit Online-Tool namens XMLGrid: http://xmlgrid.net/xml2xsd.html


5
2018-05-07 13:30



Sie könnten eine XSLT schreiben, um zu tun etwas so wie das. Aber das Problem ist, ein einzelnes Dokument allein reicht nicht aus, um ein Schema zu generieren. Sind diese Elemente optional? Fehlt etwas in diesem Dokument, das in anderen Fällen vorkommen könnte? Wie viele eines bestimmten Elements kann es geben? Müssen sie in dieser Reihenfolge sein? Es gibt viele Dinge, die in einem Schema ausgedrückt werden können, die nicht unmittelbar aus einer Instanz eines Dokuments hervorgehen, das diesem Schema entspricht.


1
2018-05-07 13:31



Für die Leute, die es wirklich in ihren Java-Code einschließen möchten, um eine XSD zu erzeugen und die Gefahren zu verstehen, überprüfen Sie heraus Generieren Sie XSD aus XML programmatisch in Java


1
2018-04-17 19:33



Versuchen Sie xmlbeans, es hat einige Werkzeuge, von denen ein ins2xsd ist, Sie können Spezifizierungen hier finden: http://xmlbeans.apache.org/docs/2.0.0/guide/tools.html Viel Glück


0
2017-09-20 07:24