DTD zusammenfassen und in XSD umwandeln
MyKey
- xml
Hallo allerseits!
Ich versuche jetzt schon seit einiger Zeit verzweifelt, eine DTD in eine XSD umzuwandeln.
Wenn die DTD aus einer Datei besteht, ist das auch kein Problem. Aber meine DTD besteht aus zig Referenzen auf andere Dateien und ist so tief gesplittet, dass ich es einfach nicht hinbekommen.
Kann mir jemand einen Tip geben, wie ich entweder die DTD fehlerfrei zusammenführen kann oder wie ich viele DTD-Schnipsel in ein XSD umwandeln kann?
Viele Grüße,
MyKey
Hallo,
Kann mir jemand einen Tip geben, wie ich entweder die DTD fehlerfrei zusammenführen kann oder wie ich viele DTD-Schnipsel in ein XSD umwandeln kann?
James Clark ist relativ bekannt im Lande von XML und der XML-Schemasprachen, unter anderem durch seine qualitativ durchaus ansehliche Software. Vor ein paar Jahren hat er das Programm Trang geschrieben, ein automatischer Konverter zwischen diversen Schemasprachen. Ich würde mal ausprobieren, ob Dir das hilft.
$ java -jar trang.jar http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd xhtml11.xsd
Der Output geschieht für all die Submodule von XHTML 1.1 allerdings wieder in Submodulen, die mit xs:incluce/ eingebunden werden.
$ ls *.xsd
local.xsd xhtml-hypertext-1.mod.xsd xhtml-ruby-1.mod.xsd
xhtml-attribs-1.mod.xsd xhtml-image-1.mod.xsd xhtml-script-1.mod.xsd
xhtml-base-1.mod.xsd xhtml-inlphras-1.mod.xsd xhtml-ssismap-1.mod.xsd
xhtml-bdo-1.mod.xsd xhtml-inlpres-1.mod.xsd xhtml-struct-1.mod.xsd
xhtml-blkphras-1.mod.xsd xhtml-inlstruct-1.mod.xsd xhtml-style-1.mod.xsd
xhtml-blkpres-1.mod.xsd xhtml-inlstyle-1.mod.xsd xhtml-table-1.mod.xsd
xhtml-blkstruct-1.mod.xsd xhtml-link-1.mod.xsd xhtml-target-1.mod.xsd
xhtml-csismap-1.mod.xsd xhtml-list-1.mod.xsd xhtml-text-1.mod.xsd
xhtml-datatypes-1.mod.xsd xhtml-meta-1.mod.xsd xhtml11-model-1.mod.xsd
xhtml-edit-1.mod.xsd xhtml-object-1.mod.xsd xhtml11.xsd
xhtml-events-1.mod.xsd xhtml-param-1.mod.xsd xml.xsd
xhtml-form-1.mod.xsd xhtml-pres-1.mod.xsd xsi.xsd
xhtml-framework-1.mod.xsd xhtml-qname-1.mod.xsd
Und auch die Kommentare aus der DTD sind manchmal an der falschen Stelle. Ansonsten sieht das Ergebnis durchaus ansehlich aus. Vielleicht hilft es Dir schon, mit Trand automatisiert umzuwandeln und danach händisch nachzubearbeiten?
Tim