XML-кодирование атрибута в KMIP

Я анализирую KMIP для реализации прототипа в Scala. Я пытаюсь понять все концепции для реализации архитектуры для различных профилей кодирования (байты, JSON, XML).

В разделе спецификации 5.4.1.6 "Кодирование элементов XML" предусмотрено:

[...] структурные значения кодируются как вложенные элементы xml, а неструктурные значения кодируются с использованием атрибута 'value'

С этим примером:

<ActivationDate type="DateTime" value="2001-01-01T10:00:00+10:00"/>

Я не понимаю этот синтаксис, так как Дата активации является атрибутом. В разделе 2.1.1 Атрибут атрибут описывается структурой, содержащей имя атрибута, индекс атрибута, значение атрибута.

XML-представление Activation Date или других атрибутов должно быть:

<Attribute>
    <AttributeName type="TextString" value="Activation Date"/
    <AttributeValue type="DateTime" value="2001-01-01T10:00:00+10:00"/>
</Attribute>

Более того, тестовый пример KMIP использует это второе представление.

Если первое представление показано в качестве примера, оно будет использовано. Так в каком случае?

1 ответ

Спецификация KMIP в этом отношении очень расплывчата. ОБА формы описанного вами атрибута считаются действительными KMIP и должны обрабатываться.

Я настоятельно рекомендую документ "Дополнительные кодировки сообщений KMIP" при реализации кодировки http/json/xml - https://docs.oasis-open.org/kmip/kmip-addtl-msg-enc/v1.0/os/kmip-addtl-msg-enc-v1.0-os.html

раздел 6.1.6 описывает еще один формат, который не рассматривается в основной спецификации: <TTLV tag="0x420001" name="ActivationDate" type="DateTime" value="2001-01-01T10:00:00+10:00"/>

Другие вопросы по тегам