WBXML
WBXML,就是WAP Binary XML。
?
簡(jiǎn)單地說,它就是一個(gè)定義好的XML片斷,可以表述出同步服務(wù)器地址、遠(yuǎn)程數(shù)據(jù)庫名稱、登錄賬號(hào)等等內(nèi)容。
?
比如,這樣一個(gè)實(shí)例:
?
Nokia給出的SyncSettings例子
?
<SyncSettings>
?
?? <Version>1.0</Version>
?
?? <HostAddr>http://www.syncserver.com/sync</HostAddr>
?
?? <Port>8080</Port>
?
?? <RemoteDB>
?
????? <CTType>text/x-vcard</CTType>
?
????? <CTVer>2.1</CTVer>
?
????? <URI>./Contacts?CLASS=PRIVATE</URI>
?
????? <Name>Private Contact DB</Name>
?
????? <Auth>
?
???????? <AuthScheme>1</AuthScheme>
?
???????? <Username>james</Username>
?
???????? <Cred>cHdk</Cred> <!-- Base64 coded 'pwd' -->
?
????? </Auth>
?
?? </RemoteDB>
?
?? <RemoteDB>
?
????? <CTType>text/x-vcalendar</CTType>
?
????? <CTVer>1.0</CTVer>
?
????? <URI>./Calendar</URI>
?
????? <Name>Calendar DB</Name>
?
?? </RemoteDB>
?
?? <Name>PIM Service</Name>
?
?? <Auth>
?
????? <AuthLevel>2</AuthLevel>
?
????? <AuthScheme>1</AuthScheme>
?
????? <Username>james</Username>
?
????? <Cred>Ym9uZA==</Cred> <!-- Base64 coded 'bond' -->
?
?? </Auth>
?
?? <Auth>
?
????? <AuthLevel>1</AuthLevel>
?
????? <AuthScheme>1</AuthScheme>
?
????? <Username>bond</Username>
?
????? <Cred>Ym9uZA==</Cred> <!-- Base64 coded 'bond' -->
?
?? </Auth>
?
?? <ConRef>
?
????? <ConType>1</ConType>
?
????? <RefID>My AP</RefID>
?
?? </ConRef>
?
</SyncSettings>
?
這樣指明一個(gè)和服務(wù)器http://www.syncserver.com/sync進(jìn)行數(shù)據(jù)同步。
?
很簡(jiǎn)單不是嗎?
?
但是如何將這個(gè)XML轉(zhuǎn)換為短信所需要的二進(jìn)制呢?
?
轉(zhuǎn)換過程:按圖索驥
Nokia是這么定義轉(zhuǎn)換規(guī)則的,很簡(jiǎn)單,就是盡可能簡(jiǎn)短地用一個(gè)字符表示某一個(gè)元素。
?
具體的轉(zhuǎn)換規(guī)則,可以參考《OTA_settings_general_7_0.pdf》的8.2章節(jié)。