Xml-кодирование атрибута в kmip

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

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

[...] structure values are encoded as nested xml elements, and non-structure values are encoded using the ‘value’ attribute

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

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

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

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

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

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

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

1
0
157
1

Ответы 1

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

Я настоятельно рекомендую документ KMIP Additional Message Encodings при реализации кодировки 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"/>

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

Похожие вопросы

Следует ли отправлять данные сразу или по одному в протоколе whois?
Как порядковые номера tcp работают в двунаправленном сообщении / скользящем окне?
Можно ли отслеживать пользователей по данным обмена ключами в 'tor'
Если delegate отправляет сообщения с жестами, соответствуют ли они моему настроенному протоколу objective c?
Сделайте универсальный тип type <t> соответствующим протоколу, только если t соответствует этому протоколу
Как динамически переключаться между протоколами для узла (беспроводного) в ns2?
Странные символы в начале запроса сервера
Протоколы и расширения swift ~ когда вызываются методы
Перемещение данных в и из контроллеров представления, когда не используется раскадровка (то есть без переходов), как вы на самом деле реализуете эти делегаты? - быстрый
Общий протокол swift со слабым свойством - «weak» может применяться только к протоколам с привязкой к классу.