Jakie są najlepsze praktyki dotyczące wersjonowania schematów XML?

Często muszę projektować schematy XML dla różnych procedur importowania baz XML. Oczywiste jest, że schematy XML będą ewoluować w miarę upływu czasu lub mogą zawierać błędy do usunięcia, dlatego ważne jest, aby przechwycić wersję schematu i mieć jakiś mechanizm wiązania z konkretną wersją.

Obecnie mam dwa scenariusze:

Błąd znajduje się w schemacie, a wszystkie instancje schematu muszą być zgodne z poprawioną wersją.

Uaktualniony schemat i powinien być traktowany jako preferowany, ale stary również powinien być obsługiwany.

Wreszcie wpadłem na przechowywanie informacji o wersji w przestrzeni nazw schematu:

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

Naprawiając błąd, naprawiam go w tej samej przestrzeni nazw, ale jeśli zamierzam uaktualnić schemat, muszę utworzyć nową przestrzeń nazw, ale z dodanym miesiącem aktualizacji:

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

A jeśli mam więcej niż jedną aktualizację w ciągu miesiąca, to po prostu dołącz także dzień:

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

Czy znasz jakieś lepsze podejście?

questionAnswers(2)

yourAnswerToTheQuestion