Как лучше всего указать, какую версию схемы XML следует использовать для декодирования полезной нагрузки веб-службы XML? - PullRequest
1 голос
/ 13 января 2012

Я задаю этот вопрос преимущественно в контексте API веб-службы REST / XML (тип мультимедиа «application / vnd.mystuff + xml»), но, возможно, этот вопрос по-прежнему актуален для веб-служб на основе SOAP.

Если XML-схема, описывающая словарь наших ресурсов / полезных нагрузок, изменится, как мне лучше всего указать клиенту, что он должен использовать / ожидать более новую версию XML-схемы?

Должны ли мы включить идентификатор версии в корневой элемент следующим образом:

<mything xmlns="http://mycompany.com/yadda" version="1.0">

или мы должны просто ссылаться на схему XML следующим образом:

<mything  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:SchemaLocation="http://mycompany.com/yadda/1 yadda-1.0.xsd"
          xmlns="http://mycompany.com/yadda">

или оба?

<mything  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:SchemaLocation="http://mycompany.com/yadda/1 yadda-1.0.xsd"
          xmlns="http://mycompany.com/yadda"
          version="1.0">

Является ли обычной практикой отправлять полезную нагрузку XML, которая ссылается на схему XML?

1 Ответ

1 голос
/ 13 января 2012

Нет. Используйте пространство имен XML, чтобы указать, какую схему использовать.

...