WBXML

WAP Binary XML ( WBXML ) este o reprezentare binară compactă a XML . Dezvoltat de Open Mobile Alliance pentru transmisie prin conexiuni wireless de mică viteză. WBXML este în prezent luat în considerare de World Wide Web Consortium pentru includerea în familia de standarde WAP . Versiunea actuală este 1.3.

WBXML este folosit acum în SyncML , WML , Wireless Village , OMA DRM , programarea telefonului fără fir.

Structura

Reprezentarea pe mai mulți octeți este utilizată pentru a codifica numerele. Ultimul octet începe cu bitul 0, restul începe cu 1. Restul de 7 biți codifică deja un număr întreg pozitiv.

Fișierul începe cu un octet cu numărul versiunii WBXML (versiunea 1.3 este codificată ca 0x03). Urmează tipul de document, fie ca referință la un șir numit (într-un tabel de șiruri), fie ca cod pentru tipuri binecunoscute, cum ar fi WML . Următorul număr indică codificarea ale cărei coduri sunt specificate în " IANA Charset MIB " ( RFC 3808 ). La sfârșitul antetului este un tabel de șiruri (în primul rând lungimea, apoi conținutul). Liniile din acesta sunt separate prin simbolul NULL. Pentru mai multă compactitate, șirurile din numele etichetei, atributele și conținutul pot fi pur și simplu specificate ca decalaje în acest tabel.

Dacă formatul documentului XML este cunoscut în prealabil, atunci numele etichetelor și atributelor pot fi notate printr-un octet predeterminat. Pentru a utiliza mai mult de 256 de nume, acestea sunt împărțite în pagini, care pot fi modificate folosind o comandă specială: byte SWITCH_PAGEși byte cu numărul paginii.

Fiecare etichetă este precedată de un octet care indică dacă are atribute și conținut ( LITERAL, LITERAL_A, LITERAL_Csau LITERAL_CA) și un offset în tabelul de șiruri. Sau poate fi specificat ca un octet, unde primul bit indică prezența atributelor, al doilea indică conținutul, iar restul codifică un cod de etichetă pre-acordat. Atributele sunt specificate mai jos ca un octet negociat sau LITERALo referință la un tabel de șiruri. Mai departe - o linie cu valoarea și octetul său END. Șirurile, atât în ​​valoarea atributului, cât și în conținutul etichetei, pot fi fie un octet STR_Tși un offset în tabelul de șiruri, fie un STR_Ișir cu NULLla sfârșit. Conținutul etichetei este închis cu un octet END.

Eticheta poate conține și date binare (de exemplu, o imagine sau informații comprimate), care sunt codificate ca un octet special OPAQUE, lungimea datelor și conținutul în sine.

Vezi și

Link -uri