Вы можете сделать это таким образом, но тогда представление ваших данных в XML полностью отличается от версии к версии с точки зрения XML Infoset (в котором пространство имен является частью квалифицированного имени элемента), поэтому ни обратной, ни прямой совместимости.
Теперь одно из преимуществ XML состоит в том, что он может быть легко обработан совместимым способом с такими технологиями, как XPath и XSLT - вы просто выбираете элементы, которые можете интерпретировать, и оставляете то, что вы не распознаете, как есть. Но для этого необходимо, чтобы элементы с одинаковым значением сохраняли одно и то же имя (включая пространство имен) между версиями.
В общем, лучше сделать ваши схемы совместимыми с * forward * . Если вы не можете этого достичь, вам все же может потребоваться обеспечить как можно большую совместимость с существующими инструментами (зачастую легче добиться совместимости с инструментами, которые только читают данные, а не с теми, которые их также пишут). Следовательно, в таких случаях вы избегаете сохранения номера версии и просто пытаетесь разобрать все, что вам дали, сигнализируя об ошибке, если входные данные явно искажены.
Если вы дошли до того, что вам абсолютно необходимо нарушить совместимость в обоих направлениях и начать с чистого листа, предложенный способ обработки этого для контрактов данных WCF действительно заключается в изменении пространства имен, как описано в рекомендациях по версии контракта данных . Там также есть несколько незначительных изменений, таких как использование даты публикации вместо номера версии в URL (W3C очень любит это для своих схем), но они в основном стилистические.