Формат параметров и выходных значений

Материал из Oktell
Версия от 08:16, 26 марта 2015; Oktell Support (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Наверх Структура интерфейса<<< Формат параметров и выходных значений >>>Описание базовых элементов интерфейса

Взаимодействие осуществляется методами и callback-методами с передачей параметров простых типов (BOOL, INT, STRING). В случае необходимости передачи большого числа параметров или сложных параметров используется строковый параметр, содержащий внутри себя XML-структуру. Строка XML установленного образца по умолчанию в кодировке UTF-16. Заголовки жестко фиксированы, содержимое согласно установленной структуре тэгов и их зависимостей, но произвольно по уровням вложенности и комбинациям.

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="" count="">
   <property_set name="" id="">
     <property_simple key="" value="" name="" />
     .....
     <property_simple key="" value="" name="" />
     <property_cdata key="" value=""><![CDATA[]]></property_cdata>
     .....
     <property_cdata key="" value=""><![CDATA[]]></property_cdata>
     <property_collection name="" count=""> 
       <property_set name="" id="">
          .....
       </property_set>
       .....
       <property_set name="" id="">
          .....
       </property_set>        
     </property_collection> 
   </property_set>
   .....
   <property_set name="" id="">
      .....
   </property_set>
 </data>
 </oktellcommapper>


Четыре основных тега внутренней структуры:

  • property_simple
<property_simple key="" value="" name="" />

- элементарные свойства {key,value,name}, value и name могут отсутствовать. В целях уменьшения общего размера названия тегов и атрибутов могут быть сокращены так, что общий вид будет соответствовать

<prs k="" v="" n="">...</prs>


  • property_cdata
<property_cdata key="" value=""><![CDATA[...]]></property_cdata>

- полнотекстовые свойства с неизвестным заранее содержимым {key,value,*cdata_text}, value может отсутствовать. В целях уменьшения общего размера названия тегов и атрибутов могут быть сокращены так, что общий вид будет соответствовать

<prc k="" v=""><![CDATA[...]]></prc>


  • property_set
<property_set name="" id="">...</property_set>

- набор произвольного числа property_simple и property_cdata с допустимым присутствием одного тега property_collection. В целях уменьшения общего размера названия тегов и атрибутов могут быть сокращены так, что общий вид будет соответствовать

<s n="" id="">...</s>


  • property_collection
<property_collection name="" count="">...</property_collection>

- коллекция произвольного числа property_set. В целях уменьшения общего размера названия тегов и атрибутов могут быть сокращены так, что общий вид будет соответствовать

<с n="" cn="">...</c>


Базовый внешний тег </span> представляет собой аналог <property_collection>.

Очевидна объектная модель, лежащая в основе подобным образом организованной структуры. Рекомендация: не делать различий между property_simple и property_cdata при парсинге XML в объекты.

В статье «Объектная модель XML-парсера» приводится объяснение и формат взаимодействия с классами, обслуживающими XML-структуру описанного образца.


Наверх Структура интерфейса<<< Формат параметров и выходных значений >>>Описание базовых элементов интерфейса