- WAP Binary XML
-
WAP Binary XML (WBXML) — компактное бинарное представление Консорциумом Всемирной паутины для включения в семейство стандартов WAP. Текущая версия 1.3.
WBXML сейчас используется в WML, Wireless Village, OMA DRM, программировании телефонов через беспроводную связь.
Структура
Для кодирования чисел используется многобайтовое представление. Последний байт начинается с бита 0, остальные — с 1. Остальные 7 бит уже кодируют положительное целое число.
Файл начинается с байта с номером версии WBXML (версия 1.3 кодируется как
0x03). Далее идёт типа документа в виде ссылки на строку с именем (а таблице строк) или кода для хорошо известных типов, например, 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, длины данных и самого содержимого.См. также
Wikimedia Foundation. 2010.