WBXML

WBXML (WAP Binary XML) — компактний бінарний варіант 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
  • XML

Посилання

  • WBXML v1.3 [Архівовано 18 квітня 2007 у Wayback Machine.]
  • Proposed W3C standard [Архівовано 22 квітня 2014 у Wayback Machine.]
  • WBXML Library
  • Java XML Parser (Pull) and «basic» support for WBXML [Архівовано 12 лютого 2014 у Wayback Machine.]
Ця стаття є заготовкою. Ви можете допомогти проєкту, доробивши її. Це повідомлення варто замінити точнішим.
Ця стаття не містить посилань на джерела. Ви можете допомогти поліпшити цю статтю, додавши посилання на надійні (авторитетні) джерела. Матеріал без джерел може бути піддано сумніву та вилучено. (липень 2013)
  • п
  • о
  • р
Стандарти 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 · WTP · XHTML Mobile Profile · MLP · SCOMO