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, длины данных и самого содержимого.

См. также

  • EBML

Ссылки

  • Binary XML Content Format Specification. Version 1.3  (неопр.). WAP Forum (25 июля 2001). Дата обращения: 29 июля 2015. Архивировано из оригинала 3 марта 2016 года.
  • Предполагаемая спецификация W3C
  • J2ME библиотека kxml
  • libwbxml
Перейти к шаблону «Стандарты Open Mobile Alliance»
Стандарты Open Mobile Alliance
Стандарты
  • FUMO
  • MMS
  • OMA BCAST
  • OMA CP
  • OMA DM
  • OMA DRM
  • OMA DS
  • OMA IMPS / Wireless Village
  • OMA PoC
  • OMA Presence SIMPLE
  • OMA SE
  • OMA SIMPLE IM
  • WAP
  • WBMP
  • WBXML
  • WML
  • WMLScript
  • WSP
  • WDP
  • WTP
  • XHTML Mobile Profile
  • MLP
Черновики стандартов
SCOMO