WBXML
WAP Binary XML (WBXML) — компактное бинарное представление XML. Разработано Open Mobile Alliance для передачи через беспроводные соединения с низкой скоростью. В данный момент WBXML рассматривается Консорциумом Всемирной паутины для включения в семейство стандартов WAP. Текущая версия 1.3.
WBXML сейчас используется в SyncML, WML, Wireless Village, OMA DRM, программировании телефонов через беспроводную связь.
Структура
Для кодирования чисел используется многобайтовое представление. Последний байт начинается с бита 0, остальные — с 1. Остальные 7 бит уже кодируют положительное целое число.
Файл начинается с байта с номером версии WBXML (версия 1.3 кодируется как 0x03
). Далее идёт тип документа в виде ссылки на строку с именем (в таблице строк) или кода для хорошо известных типов, например, WML. Следующее число указывает на кодировку, коды которой указаны в «IANA Charset MIB» (RFC 3808). В конце заголовка идёт таблица строк (сначала длина, а потом содержимое). Строки в ней разделены символом NULL
. Для большей компактности строки в названии тега, атрибутах и содержимом можно указать просто как смещения в этой таблице.
Если формат XML документа заранее известен, то название тегов и атрибутов можно обозначить заранее обговорённым байтом. Чтобы использовать более 256 имён, они разделены на страницы, которые можно менять с помощью специальной команды: байт SWITCH_PAGE
и байт с номером страницы.
Перед каждым тегом идёт байт, указывающий имеет ли он атрибуты и содержимое (LITERAL
, LITERAL_A
, LITERAL_C
или LITERAL_CA
) и смещении в таблице строк. Или он может быть указан в виде байта, где первый бит указывает на наличие атрибутов, второй — содержимого, а остальные кодируют заранее договорённый код тега. Атрибуты указаны далее как обговорённого байт или LITERAL
и ссылки на таблицу строк. Далее строка с его значением и байт END
. Строки, как в значении атрибута, так и в содержимом тега могут быть либо байтом STR_T
и смещением в таблице строк, либо STR_I
и строкой с NULL
на конце. Содержимое тега закрывается байтом END
.
Тег может содержать и бинарные данные (например, изображение или сжатую информацию), которые кодируются в виде специального байта OPAQUE
, длины данных и самого содержимого.
См. также
Напишите отзыв о статье "WBXML"
Ссылки
- [technical.openmobilealliance.org/tech/affiliates/wap/wap-192-wbxml-20010725-a.pdf Binary XML Content Format Specification] Version 1.3. WAP Forum (25 июля 2001). Проверено 29 июля 2015.
- [www.w3.org/TR/wbxml/ Предполагаемая спецификация W3C]
- [kxml.sourceforge.net/ J2ME библиотека kxml]
- [sourceforge.net/projects/libwbxml/ libwbxml]
|
Отрывок, характеризующий WBXML
– Но как вы находите всю эту последнюю комедию du sacre de Milan? [миланского помазания?] – сказала Анна Павловна. Et la nouvelle comedie des peuples de Genes et de Lucques, qui viennent presenter leurs voeux a M. Buonaparte assis sur un trone, et exaucant les voeux des nations! Adorable! Non, mais c'est a en devenir folle! On dirait, que le monde entier a perdu la tete. [И вот новая комедия: народы Генуи и Лукки изъявляют свои желания господину Бонапарте. И господин Бонапарте сидит на троне и исполняет желания народов. 0! это восхитительно! Нет, от этого можно с ума сойти. Подумаешь, что весь свет потерял голову.]Князь Андрей усмехнулся, прямо глядя в лицо Анны Павловны.
– «Dieu me la donne, gare a qui la touche», – сказал он (слова Бонапарте, сказанные при возложении короны). – On dit qu'il a ete tres beau en prononcant ces paroles, [Бог мне дал корону. Беда тому, кто ее тронет. – Говорят, он был очень хорош, произнося эти слова,] – прибавил он и еще раз повторил эти слова по итальянски: «Dio mi la dona, guai a chi la tocca».
– J'espere enfin, – продолжала Анна Павловна, – que ca a ete la goutte d'eau qui fera deborder le verre. Les souverains ne peuvent plus supporter cet homme, qui menace tout. [Надеюсь, что это была, наконец, та капля, которая переполнит стакан. Государи не могут более терпеть этого человека, который угрожает всему.]
– Les souverains? Je ne parle pas de la Russie, – сказал виконт учтиво и безнадежно: – Les souverains, madame! Qu'ont ils fait pour Louis XVII, pour la reine, pour madame Elisabeth? Rien, – продолжал он одушевляясь. – Et croyez moi, ils subissent la punition pour leur trahison de la cause des Bourbons. Les souverains? Ils envoient des ambassadeurs complimenter l'usurpateur. [Государи! Я не говорю о России. Государи! Но что они сделали для Людовика XVII, для королевы, для Елизаветы? Ничего. И, поверьте мне, они несут наказание за свою измену делу Бурбонов. Государи! Они шлют послов приветствовать похитителя престола.]
И он, презрительно вздохнув, опять переменил положение. Князь Ипполит, долго смотревший в лорнет на виконта, вдруг при этих словах повернулся всем телом к маленькой княгине и, попросив у нее иголку, стал показывать ей, рисуя иголкой на столе, герб Конде. Он растолковывал ей этот герб с таким значительным видом, как будто княгиня просила его об этом.
– Baton de gueules, engrele de gueules d'azur – maison Conde, [Фраза, не переводимая буквально, так как состоит из условных геральдических терминов, не вполне точно употребленных. Общий смысл такой : Герб Конде представляет щит с красными и синими узкими зазубренными полосами,] – говорил он.