文章詳情頁(yè)
WML學(xué)習(xí)之二基本格式和文件頭
瀏覽:97日期:2022-06-03 18:54:57
基本格式和文件頭
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>
結(jié)構(gòu)看上去和HTMl文件很類(lèi)似,對(duì)于每一個(gè)DECK,在其文檔開(kāi)頭必須指明以下的類(lèi)型聲明:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
千萬(wàn)注意字母的大小寫(xiě)。對(duì)于一個(gè)DECK,其文件大小最好不要超過(guò)1.2K。
<wml>標(biāo)簽和HTML中的<html>標(biāo)簽一樣,用來(lái)表明這是一個(gè) WML的DECK,它有一個(gè)可選的xml:lang屬性來(lái)制定文檔的語(yǔ)言,比如<wml xml:lang="zh">表示文檔語(yǔ)言為中文。
和HTML一樣<head>標(biāo)簽包含了該DESK的相關(guān)信息。<head> 標(biāo)簽之間可以包含一個(gè)<access>標(biāo)簽和多個(gè)<meta>標(biāo)簽。
<access domain="域" path="/路徑" />相當(dāng)于HTML中的<BASE>標(biāo)簽,指定該DECK的訪問(wèn)控制信息,它用兩個(gè)可選的屬性,domain用來(lái)指定域,默認(rèn)值為當(dāng)前域, path用來(lái)指定路徑,默認(rèn)值為"/",即根目錄。由于 <access>單獨(dú)使用,所以要用/結(jié)尾,以后對(duì)于類(lèi)似的情況不再贅述。
<meta 屬性 content="值" scheme="格式" forua="true|false"/> 和HTML中的類(lèi)似,提供了該DECK的meta信息。屬性是必選的,包括一下三種情況
name="name" UP.Link Server忽略meta數(shù)據(jù)
http-equiv="name" UP.Link Server將meta 數(shù)據(jù)轉(zhuǎn)為 HTTP 響應(yīng)頭(同HTML)
user-agent="agent" UP.Link Server 直接將 meta 數(shù)據(jù)傳給手機(jī)設(shè)備,content屬性也是必選的,其內(nèi)容根據(jù)屬性而定。scheme屬性目前尚不支持。forua 為可選屬性,指定在該wml文件傳到客戶(hù)端之前,<meta>標(biāo)簽是不是被中間代理刪除(因?yàn)閭鬏數(shù)膮f(xié)議可能改變),默認(rèn)值為false。
目前支持的meta數(shù)據(jù):
<meta http-equiv="Cache-Control" content="max-age=3600"/>指定DECK在手機(jī)內(nèi)存緩存中的存儲(chǔ)時(shí)間段,默認(rèn)的為30天(除非內(nèi)存耗盡),在該期間,手機(jī)對(duì)于訪問(wèn)過(guò)的DECK直接從緩存里調(diào)用。如果信息是對(duì)時(shí)間敏感的,可以用max-age指定DECK在緩存里的生存期,最小單位是秒, 如果指定為0, 則每次都需通過(guò)連接服務(wù)器來(lái)調(diào)用該DECK。
<meta user-agent="vnd.up.markable" content="false"/>和<meta user-agent="vnd.up.bookmark" content="指定的URL"/> 類(lèi)似于普通瀏覽器的書(shū)簽功能。當(dāng)用戶(hù)將一個(gè)CARD做了書(shū)簽后,手機(jī)瀏覽器首先用一個(gè)標(biāo)記記錄該CARD,這個(gè)標(biāo)記默認(rèn)的是<card>標(biāo)簽中的title屬性(以后會(huì)講到),然后當(dāng)用戶(hù)選擇了該書(shū)簽以后,瀏覽器就會(huì)打開(kāi)被記錄的URL。但是因?yàn)樵谀J(rèn)的情況下,手機(jī)會(huì)記錄所有的DECK,所以,一般<meta>被用來(lái)使手機(jī)不要記錄當(dāng)前的URL,即
<meta user-agent="vnd.up.markable" content="false"/>。此外, 如果要為書(shū)簽指定不同于當(dāng)前DRECk的 URL,用<meta user-agent="vnd.up.bookmark" content="指定的URL"/>。
一個(gè)DECK可以包含多個(gè)CARD,每個(gè)CARD的內(nèi)容可能不止一屏顯示,注意DECK,CARD和屏幕顯示范圍的關(guān)系。一個(gè)CARD用<card>和</card>包含。<card>可以包含以下可選的屬性:
<card id="name" title="label" newcontext="false" ordered="true" onenterforward="url" onenterbackward="url" ontimer="url">
*id屬性用來(lái)指定CARD的名字,可用來(lái)在CARD間跳轉(zhuǎn),相當(dāng)于在HTML中在頁(yè)內(nèi)跳轉(zhuǎn)時(shí)用<A NAME="jumpHere">。
*title屬性用來(lái)作為書(shū)簽的標(biāo)記,該屬性一般不會(huì)顯示在屏幕上。
*newcontext屬性,默認(rèn)值為false, 用來(lái)指示當(dāng)跳轉(zhuǎn)到本CARD時(shí),手機(jī)是不是要清除以前保留的信息,包括變量,堆棧里的歷史記錄,重新設(shè)置手機(jī)狀態(tài)等。
*ordered屬性,默認(rèn)值是true,表明該CARD里的內(nèi)容是按固定的順序顯示, 還是按用戶(hù)的選擇來(lái)顯示。這點(diǎn)和HTMl不同,CARD 頁(yè)面里的內(nèi)容可以按一定的順序顯示,默認(rèn)的是按線性順序顯示,即按代碼的順序,但是,要注意的是,以下三個(gè)標(biāo)簽必須按以下順序來(lái)寫(xiě)<onevent> <timer> <do>, (這和以后要講的“事件”有關(guān))。這樣做是為了方便填表單,當(dāng)ordered設(shè)置為true時(shí),如果一個(gè)表單的內(nèi)容不能在一屏里顯示完,就分成多屏顯示;當(dāng)ordered設(shè)置為false時(shí),手機(jī)可以顯示一個(gè)概要CARD來(lái)總結(jié)有效的選項(xiàng),用戶(hù)可以從中選取表單選項(xiàng)來(lái)填寫(xiě)。
*onXXX屬性,類(lèi)似于HTML標(biāo)簽中的onXXX屬性,用來(lái)捕捉事件,當(dāng)事件被觸發(fā)時(shí)執(zhí)行指定的操作(任務(wù)),在這里是轉(zhuǎn)向某個(gè)URL。
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>
結(jié)構(gòu)看上去和HTMl文件很類(lèi)似,對(duì)于每一個(gè)DECK,在其文檔開(kāi)頭必須指明以下的類(lèi)型聲明:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
千萬(wàn)注意字母的大小寫(xiě)。對(duì)于一個(gè)DECK,其文件大小最好不要超過(guò)1.2K。
<wml>標(biāo)簽和HTML中的<html>標(biāo)簽一樣,用來(lái)表明這是一個(gè) WML的DECK,它有一個(gè)可選的xml:lang屬性來(lái)制定文檔的語(yǔ)言,比如<wml xml:lang="zh">表示文檔語(yǔ)言為中文。
和HTML一樣<head>標(biāo)簽包含了該DESK的相關(guān)信息。<head> 標(biāo)簽之間可以包含一個(gè)<access>標(biāo)簽和多個(gè)<meta>標(biāo)簽。
<access domain="域" path="/路徑" />相當(dāng)于HTML中的<BASE>標(biāo)簽,指定該DECK的訪問(wèn)控制信息,它用兩個(gè)可選的屬性,domain用來(lái)指定域,默認(rèn)值為當(dāng)前域, path用來(lái)指定路徑,默認(rèn)值為"/",即根目錄。由于 <access>單獨(dú)使用,所以要用/結(jié)尾,以后對(duì)于類(lèi)似的情況不再贅述。
<meta 屬性 content="值" scheme="格式" forua="true|false"/> 和HTML中的類(lèi)似,提供了該DECK的meta信息。屬性是必選的,包括一下三種情況
name="name" UP.Link Server忽略meta數(shù)據(jù)
http-equiv="name" UP.Link Server將meta 數(shù)據(jù)轉(zhuǎn)為 HTTP 響應(yīng)頭(同HTML)
user-agent="agent" UP.Link Server 直接將 meta 數(shù)據(jù)傳給手機(jī)設(shè)備,content屬性也是必選的,其內(nèi)容根據(jù)屬性而定。scheme屬性目前尚不支持。forua 為可選屬性,指定在該wml文件傳到客戶(hù)端之前,<meta>標(biāo)簽是不是被中間代理刪除(因?yàn)閭鬏數(shù)膮f(xié)議可能改變),默認(rèn)值為false。
目前支持的meta數(shù)據(jù):
<meta http-equiv="Cache-Control" content="max-age=3600"/>指定DECK在手機(jī)內(nèi)存緩存中的存儲(chǔ)時(shí)間段,默認(rèn)的為30天(除非內(nèi)存耗盡),在該期間,手機(jī)對(duì)于訪問(wèn)過(guò)的DECK直接從緩存里調(diào)用。如果信息是對(duì)時(shí)間敏感的,可以用max-age指定DECK在緩存里的生存期,最小單位是秒, 如果指定為0, 則每次都需通過(guò)連接服務(wù)器來(lái)調(diào)用該DECK。
<meta user-agent="vnd.up.markable" content="false"/>和<meta user-agent="vnd.up.bookmark" content="指定的URL"/> 類(lèi)似于普通瀏覽器的書(shū)簽功能。當(dāng)用戶(hù)將一個(gè)CARD做了書(shū)簽后,手機(jī)瀏覽器首先用一個(gè)標(biāo)記記錄該CARD,這個(gè)標(biāo)記默認(rèn)的是<card>標(biāo)簽中的title屬性(以后會(huì)講到),然后當(dāng)用戶(hù)選擇了該書(shū)簽以后,瀏覽器就會(huì)打開(kāi)被記錄的URL。但是因?yàn)樵谀J(rèn)的情況下,手機(jī)會(huì)記錄所有的DECK,所以,一般<meta>被用來(lái)使手機(jī)不要記錄當(dāng)前的URL,即
<meta user-agent="vnd.up.markable" content="false"/>。此外, 如果要為書(shū)簽指定不同于當(dāng)前DRECk的 URL,用<meta user-agent="vnd.up.bookmark" content="指定的URL"/>。
一個(gè)DECK可以包含多個(gè)CARD,每個(gè)CARD的內(nèi)容可能不止一屏顯示,注意DECK,CARD和屏幕顯示范圍的關(guān)系。一個(gè)CARD用<card>和</card>包含。<card>可以包含以下可選的屬性:
<card id="name" title="label" newcontext="false" ordered="true" onenterforward="url" onenterbackward="url" ontimer="url">
*id屬性用來(lái)指定CARD的名字,可用來(lái)在CARD間跳轉(zhuǎn),相當(dāng)于在HTML中在頁(yè)內(nèi)跳轉(zhuǎn)時(shí)用<A NAME="jumpHere">。
*title屬性用來(lái)作為書(shū)簽的標(biāo)記,該屬性一般不會(huì)顯示在屏幕上。
*newcontext屬性,默認(rèn)值為false, 用來(lái)指示當(dāng)跳轉(zhuǎn)到本CARD時(shí),手機(jī)是不是要清除以前保留的信息,包括變量,堆棧里的歷史記錄,重新設(shè)置手機(jī)狀態(tài)等。
*ordered屬性,默認(rèn)值是true,表明該CARD里的內(nèi)容是按固定的順序顯示, 還是按用戶(hù)的選擇來(lái)顯示。這點(diǎn)和HTMl不同,CARD 頁(yè)面里的內(nèi)容可以按一定的順序顯示,默認(rèn)的是按線性順序顯示,即按代碼的順序,但是,要注意的是,以下三個(gè)標(biāo)簽必須按以下順序來(lái)寫(xiě)<onevent> <timer> <do>, (這和以后要講的“事件”有關(guān))。這樣做是為了方便填表單,當(dāng)ordered設(shè)置為true時(shí),如果一個(gè)表單的內(nèi)容不能在一屏里顯示完,就分成多屏顯示;當(dāng)ordered設(shè)置為false時(shí),手機(jī)可以顯示一個(gè)概要CARD來(lái)總結(jié)有效的選項(xiàng),用戶(hù)可以從中選取表單選項(xiàng)來(lái)填寫(xiě)。
*onXXX屬性,類(lèi)似于HTML標(biāo)簽中的onXXX屬性,用來(lái)捕捉事件,當(dāng)事件被觸發(fā)時(shí)執(zhí)行指定的操作(任務(wù)),在這里是轉(zhuǎn)向某個(gè)URL。
標(biāo)簽:
XML/RSS
相關(guān)文章:
1. 告別AJAX實(shí)現(xiàn)無(wú)刷新提交表單2. CSS可以做的幾個(gè)令你嘆為觀止的實(shí)例分享3. 詳解盒子端CSS動(dòng)畫(huà)性能提升4. WML語(yǔ)言的基本情況5. 三個(gè)不常見(jiàn)的 HTML5 實(shí)用新特性簡(jiǎn)介6. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法7. HTML中的XML數(shù)據(jù)島記錄編輯與添加8. CSS代碼檢查工具stylelint的使用方法詳解9. 淺談CSS不規(guī)則邊框的生成方案10. html中的form不提交(排除)某些input 原創(chuàng)
排行榜
