Ich muss oft XML-Schemas für verschiedene XML-basierte Importroutinen entwerfen. Es ist klar, dass XML-Schemas sich im Laufe der Zeit weiterentwickeln oder Fehler enthalten können, die behoben werden müssen. Daher ist es wichtig, die Version des Schemas zu erfassen und einen Mechanismus zu haben, der gegen eine bestimmte Version bindet.Welche Best Practices gelten für die Versionsverwaltung von XML-Schemas?
Zur Zeit habe ich zwei Szenarien:
Der Fehler innerhalb des Schemas und alle Schema-Instanzen gefunden wird mit der festen Version entsprechen.
Das Schema wurde aktualisiert und sollte als bevorzugt betrachtet werden, aber ein altes Schema sollte ebenfalls unterstützt werden.
Schließlich kam ich mit der Speicherung von Versionsinformationen im Namensraum des Schemas bis:
targetNamespace="http://schemas.company.com/Geodesy/2010/River.xsd"
Wenn ein Fehler behebt ich es im gleichen Namensraum beheben, aber wenn ich über ein Schema dann aktualisieren ich brauche einen neuen Namensraum zu schaffen, sondern mit Upgrade Monat hinzugefügt:
targetNamespace="http://schemas.company.com/Geodesy/2010/01/River.xsd"
Und wenn ich mehr als ein Upgrade in einem Monat haben, dann hängen Sie einfach einen Tag zu:
targetNamespace="http://schemas.company.com/Geodesy/2010/01/17/River.xsd"
Kennen Sie einen besseren Ansatz?
Sooo, vielleicht sollten wir nur Informationen über die Version im Kommentar setzen? –
Gibt es eine Möglichkeit, die Versionsnummer nach dem Demashalieren mit JAXB im Stammverzeichnis abzurufen? – CMPE