Was sind die Best Practices für die Versionierung von XML-Schemas?

Ich muss oft XML-Schemata für verschiedene XML-basierte Importroutinen entwerfen. Es ist klar, dass sich XML-Schemas im Laufe der Zeit weiterentwickeln werden oder Fehler enthalten können, die behoben werden müssen. Daher ist es wichtig, die Version des Schemas zu erfassen und einen Mechanismus zum Binden an eine bestimmte Version zu haben.

Derzeit habe ich zwei Szenarien:

Der Fehler ist im Schema zu finden und alle Schema-Instanzen müssen der festen Version entsprechen.

Das Schema wurde aktualisiert und sollte als vorzuziehen betrachtet werden, aber ein altes sollte ebenfalls unterstützt werden.

Schließlich kam ich auf die Idee, Versionsinformationen im Namespace des Schemas zu speichern:

targetNamespace="http://schemas.company.com/Geodesy/2010/River.xsd"

Wenn ich einen Fehler behebe, behebe ich ihn im selben Namespace, aber wenn ich ein Schema aktualisieren möchte, muss ich einen neuen Namespace erstellen, aber mit hinzugefügtem Upgrade-Monat:

targetNamespace="http://schemas.company.com/Geodesy/2010/01/River.xsd"

Und wenn ich mehr als ein Upgrade pro Monat habe, füge ich auch nur einen Tag hinzu:

targetNamespace="http://schemas.company.com/Geodesy/2010/01/17/River.xsd"

Kennen Sie einen besseren Ansatz?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage