| WML教程8:WML文檔結構詳解 |
| 1、聲明(prologue) <?xml version="1.0"?> 2、元素(element) wml首先定義一個(gè)deck,然后在deck內封裝信息和card。 3、文件頭(head element) 頭信息包含與deck有關(guān)的信息,包括meta數據和控制元素。 3.1、訪(fǎng)問(wèn)權限設置(access) 該元素用于設置有訪(fǎng)問(wèn)當前deck權限的列表。如果deck內不包含access element信息,該deck下的access element處于無(wú)效狀態(tài),其他所有的deck都可以訪(fǎng)問(wèn)該deck。 相關(guān)屬性: domain:假如設置 <access domain="sina.com.cn"/> 那么 http://www.sina.com.cn/ 將有訪(fǎng)問(wèn)權限, 而 http://www.sino.com.cn/ 和 http://www.sina.net.cn/ 就沒(méi)有. path:工作原理與domain非常相似,例如設置<access path="/internal"/> 那么"/internal/wml" 將獲得訪(fǎng)問(wèn)權限,而"/internal-wml"就沒(méi)有。 示例: 做如下設置 <access domain="sina.com.cn" path="/wap"/> 那么以下幾個(gè)url具有訪(fǎng)問(wèn)權限: http://www.sina.com.cn/wap/goto.cgi 以下的幾個(gè)url沒(méi)有訪(fǎng)問(wèn)權限: http://www.sina.com/wap/getuid.cgi 3.2、頭元素設置(meta) <meta 屬性 content="值" scheme="格式" forua="true|false"/>和html中的類(lèi)似,提供了該deck的meta信息。 例如:<meta http-equiv="cache-control" content="max-age=0" forua="true"/> content屬性是必選的,其內容根據屬性而定。scheme屬性目前尚不支持。forua為可選屬性,指定在該wml文件傳到客戶(hù)端之前,<meta>標簽是不是被中間代理刪除(因為傳輸的協(xié)議可能改變),默認值為false。 目前支持的meta數據: <meta http-equiv="cache-control" content="max-age=0"/>指定deck在手機內存緩存中的存儲時(shí)間段,默認的為30天(除非內存耗盡),在該期間,手機對于訪(fǎng)問(wèn)過(guò)的deck直接從緩存里調用。如果信息是對時(shí)間敏感的,可以用max-age指定deck在緩存里的生存期,最小單位是秒,如果指定為0,則每次都需通過(guò)連接服務(wù)器來(lái)調用該deck。 <meta user-agent="vnd.up.markable" content="false"/>和<meta user-agent="vnd.up.bookmark" content="指定的url"/>類(lèi)似于普通瀏覽器的書(shū)簽功能。當用戶(hù)將一個(gè)card做了書(shū)簽后,手機瀏覽器首先用一個(gè)標記記錄該card,這個(gè)標記默認的是<card>標簽中的title屬性(以后會(huì )講到),然后當用戶(hù)選擇了該書(shū)簽以后,瀏覽器就會(huì )打開(kāi)被記錄的url。但是因為在默認的情況下,手機會(huì )記錄所有的deck,所以,一般<meta>被用來(lái)使手機不要記錄當前的url,即<meta user-agent="vnd.up.markable" content="false"/>。此外,如果要為書(shū)簽指定不同于當前dreck的url,用<meta user-agent="vnd.up.bookmark" content="指定的url"/>。 4、模板(template) 為了節省資源,可以把每個(gè)card中都要用到的task設置在模板中,供當前deck中所有card使用,加入個(gè)別card不需要該模板內容,可以override掉它(詳見(jiàn)任務(wù)屏蔽)。 5、卡片(card) 適用事件 以下事件適用于card和template,參見(jiàn)前面的相關(guān)說(shuō)明。 卡片屬性(card) id:同一deck內card的唯一標識,可以作為標簽被使用。(#nextcard). title:卡片標題。不同的瀏覽器處理標題處理title的原則不一樣,有的瀏覽器會(huì )顯示標題,如果當前卡片沒(méi)有設置標題,當前卡片的url會(huì )被顯示在標題位置。有些瀏覽器為了節省顯示區域會(huì )忽略標題。 newcontext:默認值為false,用來(lái)指示當跳轉到本card時(shí),手機是不是要清除以前保留的信息,包括變量,堆棧里的歷史記錄,重新設置手機狀態(tài)等。 ordered 布爾變量,聲明card是否有序。通??梢杂脕?lái)開(kāi)發(fā)自動(dòng)播放的幻燈片效果。 示例: <?xml version="1.0"?> <head> <template> <card id="start" title="start here"> <card id="accept" title="okay card"> <card id="accept2" title="ok card" > </wml> |
聯(lián)系客服