Xsd zu rnc (oder rng) Umsetzung (der unix-Kommandozeile)
Eine kurze recherche zeigt, dass alle verfügbaren (uUnix Kommandozeilen -) tools, die das konvertieren von xsd (XML-Schema) zu rng (RelaxNG) oder rnc (compact RelaxNG) haben Probleme irgendeiner Art.
Erste, wenn ich rngconv:
$ wget https://msv.dev.java.net/files/documents/61/31333/rngconv.20060319.zip
$ unzip rngconv.20060319.zip
$ cd rngconv-20060319/
$ java -jar rngconv.jar my.xsd > my.rng
Es nicht eine Möglichkeit haben, zu de-normalisieren-Elemente, so dass alle am Ende als alternativer start-Elemente (es scheint auch ein bisschen buggy).
Trang ist eine alternative, aber es unterstützt keine xsd-Dateien, auf die nur Eingang auf den Ausgang (warum?). Es unterstützt DTD, jedoch. Umwandlung von DTD erstes in den Sinn kommt, aber ein solides xsd2dtd ist schwer zu finden, wie gut. Unten:
$ xsltproc http://crism.maden.org/consulting/pub/xsl/xsd2dtd.xsl in.xsd > out.dtd
Scheint buggy.
All dies ist sehr überraschend. Für all diese Jahre der XML - (ab)verwenden, gibt es keine anständige Befehlszeilen-tools für diese triviale grundlegenden Aufgaben? Sind Menschen mit nur Redakteure? Tun Sie diese Arbeit? Ich bevorzuge den Befehl Linie, vor allem, weil ich möchte das automatisieren dieser Aufgaben.
Jede erhellende Kommentare auf dieser?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Umwandlung von XSD ist eine sehr schwierige Aufgabe; die XSD-Spezifikation ist ein bisschen ein Alptraum, und äußerst Komplex. Von einigen schnellen Forschung, es scheint, dass es einfach zu gehen, von RelaxNG und XSD, aber das umgekehrte kann nicht wahr sein, oder überhaupt möglich ist (das erklärt Ihre Frage über Trang).
Ich verstehe nicht, Ihre Frage über Editoren - wenn Sie sich Fragen, wenn die meisten Menschen am Ende der Konvertierung zwischen XSD und RNG mit der hand, dann ja, erwarte ich auch so.
Ist der beste Rat sein kann, um zu vermeiden, XSD, wenn möglich, oder zumindest mit RNG wie das endgültige Dokument und generieren XSD aus, dass. Vielleicht möchten Sie auch einen Blick auf schematron.
Wahr, trang nicht akzeptieren xsd-Datei auf der input-Seite. Trang kann jedoch ein Satz von xml-Dateien entsprechen der Spezifikation und erzeugen eine rnc oder rng-Schemas, die, wären Sie alle gültig gegen.
Nachteile:
Beispiel:
Wenn mein konforme xml-Dateien, die versteckt in
1.xml 2.xml 3.xml 4.xml 5.xml
den folgenden Befehl aus, würde sagen trang zur Ausgabe eines rnc-schema wäre gültig für alle:
Abschluss
Wenn Sie haben einen schönen test der xml-Dateien, die erfüllen das schema (oder Sie können einfach erstellen) kann dies die beste option zur Verfügung.
Wünsche ich Ihnen viel Glück.
Gibt es einen online-converter (XSD -> RNG) Hinzugefügt, um die Liste zu
http://relaxng.org/#conversion
. Ich habe versucht, zu konvertieren maven-v4_0_0.xsd für die Validierung von pom.xml Dateien in emacs, ohne Glück allerdings. Die Website enthält auch die XSL-stylesheet, das Sie verwenden können mitxsltproc
können nicht bürgen für die Qualität des Ergebnisses...Wieder, über die Redaktion: ich sehe, dass es gibt keine Möglichkeit, dies zu tun, mit Sauerstoff, was zu sein scheint ein beliebtes Werkzeug.
Eine weitere Möglichkeit könnte sein,http://www.brics.dk/schematools/, aber ich habe nicht versucht es noch nicht.