Формат параметров и выходных значений — различия между версиями
(Новая страница: «Наверх Взаимодействие осуществляется методами и callback-методам...») |
|||
Строка 33: | Строка 33: | ||
Четыре основных тега внутренней структуры: | Четыре основных тега внутренней структуры: | ||
− | *'''property_simple''' (<property_simple key="" value="" name="" /> ) - элементарные свойства {key,value,name}, value и name могут отсутствовать. В целях уменьшения общего размера названия тегов и атрибутов могут быть сокращены так, что общий вид будет соответствовать ( <prs k="" v="" n="">...</prs> ). | + | *'''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_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_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> ). | + | *'''property_collection''' ( ''<property_collection name="" count="">...</property_collection>'' ) - коллекция произвольного числа property_set. В целях уменьшения общего размера названия тегов и атрибутов могут быть сокращены так, что общий вид будет соответствовать ( ''<с n="" cn="">...</c>'' ). |
Базовый внешний тег <data> представляет собой аналог <property_collection>. | Базовый внешний тег <data> представляет собой аналог <property_collection>. |
Версия 11:41, 27 марта 2014
Взаимодействие осуществляется методами и callback-методами с передачей параметров простых типов (BOOL, INT, STRING). В случае необходимости передачи большого числа параметров или сложных параметров используется строковый параметр, содержащий внутри себя XML-структуру. Строка XML установленного образца по умолчанию в кодировке UTF-16. Заголовки жестко фиксированы, содержимое согласно установленной структуре тэгов и их зависимостей, но произвольно по уровням вложенности и комбинациям.
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <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> </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. В целях уменьшения общего размера названия тегов и атрибутов могут быть сокращены так, что общий вид будет соответствовать (
...).
- property_collection ( <property_collection name="" count="">...</property_collection> ) - коллекция произвольного числа property_set. В целях уменьшения общего размера названия тегов и атрибутов могут быть сокращены так, что общий вид будет соответствовать ( <с n="" cn="">...</c> ).
Базовый внешний тег представляет собой аналог <property_collection>.
Очевидна объектная модель, лежащая в основе подобным образом организованной структуры. Рекомендация: не делать различий между property_simple и property_cdata при парсинге XML в объекты.
В статье «Объектная модель XML-парсера» приводится объяснение и формат взаимодействия с классами, обслуживающими XML-структуру описанного образца.