WAP(wml)開發教程
WAP(無線應用協議)是在數字移動電話、因特網或其他個人數字助理機(PDA)、計算機應用之間進行通訊的開放全球標準。 它是由一系列協議組成,用來標準化無線通信設備,可用于Internet訪問,包括收發電子郵件,訪問WAP網站上的頁面等等。
WAP將移動網絡和Internet以及公司的局域網緊密地聯系起來。提供一種與網絡類型、運行商和終端設備都獨立的移動增值業務。
通過這種技術,無論你在何地、何時只要你需要信息,你就可以打開你的WAP手機,享受無窮無盡的網上信息或者網上資源。如:綜合新聞、天氣預報、股市動態、商業報道、當前匯率等。電子商務、網上銀行也將逐一實現。你還可以隨時隨地獲得體育比賽結果、娛樂圈趣聞以及幽默故事,為生活增添情趣,也可以利用網上預定功能,把生活安排的有條不紊。
WAP協議包括以下幾層:
1、Wireless Application Environment (WAE)
2、Wireless Session Layer (WSL)
3、Wireless Transaction Layer (WTP)
4、Wireless Transport Layer Security (WTLS)
5、Wireless Transport Layer (WDP)
其中,WAE層含有微型瀏覽器、WML 、WMLSCRIPT的解釋器等等功能。WTLS層為無線電子商務及無線加密傳輸數據時提供安全方面的基本功能。
WAP協議的誕生是WAP論壇成員多年努力的結果。它是針對不同的協議層定義了一系列協議,這些協議使得各方面的廠商和公司可以協同工作,開發無線通信網絡的應用。目前有超過100個成員加入WAP論壇,包括有終端和基礎設備的制造商,有移動通信的網絡運營商,有業務提供商,有軟件公司,也有網絡內容提供商等,共同為移動設備開發服務和應用。
但是,目前由于無線網的帶寬等等因素的限制,WAP手機的在多媒體上的應用如:可視會議、多媒體教學等等,還須一段時日。
WAP規范還在不斷地完善,WAP論壇成員們在加緊開發功能完善的WAP設備,這無疑加快其在無線因特網綜合服務領域的擴展速度。
關于WAP有幾點,應該注意一下:
1.WAP不只是將手機帶入IP/Internet網絡
WAP規范考慮了很多無線網絡和手機的特性。即便是3G的手機也無法把屏幕做的象通用計算機一樣,來瀏覽HTML頁面。直接接入IP網,9110在98年就可以,但是應用呢,不可能Nokia, Motarola, Ericsson推出手機時各自定義一套應用。
象WWW一樣,在規范推出以前,已經有了很多基于IP網絡的應用,包括一些做的很好的軟件。但Internet遍地開花卻是在WWW規范推出之后。WAP很大的意義在于統一的標準。
WAP和無線IP網絡并不矛盾,WAP協議規定,若承載基于IP,WDP就是UDP。等無線IP網絡普及,若認為上面幾層太繁瑣,最多是WAP協議中間幾層略掉(其實也沒太多東西)。
2.WAP應用模式很多
只要手機和網絡支持統一標準,業務發展是不可限量的。這一點就不多說了。
3.WAP是發展的
WAP規范不僅定義了和Internet結合部分,還定義WTE,及話音部分,可以說發展還早呢。要是以后通訊核心網建起來,話音業務沒準都采用WAP來實現。
WML學習(一)
概述
WML(Wireless Markup Language - 無線標記語言)這種描述語言同我們常聽說的HTML語言同出一家,都屬于X ML語言這一大家族。HTML語言寫出的內容,我們可以在我們的PC機上用IE或是Netscape等瀏覽器進行閱讀,而 WML語言寫出的文件則是專門用來在手機等的一些無線終端顯示屏上顯示,供人們閱讀的,并且同樣也可以向使用者提供人機交互界面,接受使用者輸入的查詢等信息,然后向使用者返回他所想要獲得的最終信息。
基本規則
* WML使用XML文檔字符集,目前支持 Unicode 2.0,和HDML不同, WML的所有標簽,屬性和規定的可接收值必須小寫,CARD的名字和變量也是區分大小寫的。和HDML一樣,對于連續的空字符,只顯示一個空格。標簽內屬性的值必須用“或者‘括起來,屬性名,=和值之間不能有空格。對于不成對出現的標簽,必須在 》 前加 / ,比如《br/》。在對變量的引用上和HDML基本相同,有:
以下為引用的內容:
$(var1:esc)
$(var1:noesc)
$(var1:unesc)
三種形式,具體含義參見前面HDML的相關部分。在對保留字符的處理上也基本相同,對應的取代字符有:
以下為引用的內容:
《 《
》 》
’ '
” “
& &
$ $$
空格
- -
這里要指出的是在URL的傳遞過程中,用來連接參數的 & 必須轉化為 & 。
WML學習(二)
基本格式和文件頭
wml文件的一般格式:
以下為引用的內容:
《?xml version=”1.0“?》
《!DOCTYPE wml PUBLIC ”-//WAPFORUM//DTD WML 1.1//EN“ ”http://www.wapforum.org/DTD/wml_1.1.xml“》
《wml》
《head》
《access/》
《meta.。../》
《/head》
《card》
Some contents.。.
《/card》
《wml》
結構看上去和HTMl文件很類似,對于每一個DECK,在其文檔開頭必須指明以下的類型聲明:
以下為引用的內容:
《?xml version=”1.0“?》
《!DOCTYPE wml PUBLIC ”-//WAPFORUM//DTD WML 1.1//EN“ ”http://www.wapforum.org/DTD/wml_1.1.xml“》
千萬注意字母的大小寫。對于一個DECK,其文件大小最好不要超過1.2K。
《wml》標簽和HTML中的《html》標簽一樣,用來表明這是一個 WML的DECK,它有一個可選的xml:lang屬性來制定文檔的語言,比如《wml xml:lang=”zh“》表示文檔語言為中文。
和HTML一樣《head》標簽包含了該DESK的相關信息。《head》 標簽之間可以包含一個《access》標簽和多個《meta》標簽。
《access domain=”域“ path=”/路徑“ /》相當于HTML中的《BASE》標簽,指定該DECK的訪問控制信息,它用兩個可選的屬性,domain用來指定域,默認值為當前域, path用來指定路徑,默認值為”/“,即根目錄。由于 《access》單獨使用,所以要用/結尾,以后對于類似的情況不再贅述。
《meta 屬性 content=”值“ scheme=”格式“ forua=”true|false“/》 和HTML中的類似,提供了該DECK的meta信息。屬性是必選的,包括一下三種情況name=”name“ UP.Link Server忽略meta數據
http-equiv=”name“ UP.Link Server將meta 數據轉為 HTTP 響應頭(同HTML)
user-agent=”agent“ UP.Link Server 直接將 meta 數據傳給手機設備,content屬性也是必選的,其內容根據屬性而定。scheme屬性目前尚不支持。forua 為可選屬性,指定在該wml文件傳到客戶端之前,《meta》標簽是不是被中間代理刪除(因為傳輸的協議可能改變),默認值為false。
目前支持的meta數據:
《meta http-equiv=”Cache-Control“ content=”max-age=3600“/》指定DECK在手機內存緩存中的存儲時間段,默認的為30天(除非內存耗盡),在該期間, 手機對于訪問過的DECK直接從緩存里調用。如果信息是對時間敏感的,可以用max-age指定DECK在緩存里的生存期,最小單位是秒, 如果指定為0, 則每次都需通過連接服務器來調用該DECK。
《meta user-agent=”vnd.up.markable“ content=”false“/》和《meta user-agent=”vnd.up.bookmark“ content=”指定的URL“/》 類似于普通瀏覽器的書簽功能。當用戶將一個CARD做了書簽后,手機瀏覽器首先用一個標記記錄該CARD, 這個標記默認的是《card》標簽中的title屬性(以后會講到),然后當用戶選擇了該書簽以后,瀏覽器就會打開被記錄的URL。但是因為在默認的情況下,手機會記錄所有的DECK,所以,一般《meta》被用來使手機不要記錄當前的URL,即《meta user-agent=”vnd.up.markable“ con
返回新聞列表