任務和任務屏蔽
內部任務
返回<prev>
用來將當前頁面的URL壓入URL歷史堆棧,並打開此前的URL,若該URL不存在,則<prev>無效。語法類似<go>,<prev>和</prev>之間可加入一句或多句<setvar name="name" value="value"/>,若不加,則必須以<prev/>的形式出現。
刷新<refresh>
用來刷新當前的頁面,從而使得頁面內的變量刷新或置空,語法與prev相同。<refresh> <setvar name="name" value="value"/> </refresh>,或<refresh/>。
無動作<noop>
表示什麼也不做,該標簽不能用在<anchor>中,一般用在覆蓋DECK級的<do>。
任務屏蔽(Task Shadowing)
WML的Task有兩個級別,Deck級和Card級。通常人們還習慣把設置在某些條件中的任務成為第三級,在這裡先不討論,後面有專門的描述。
Deck Level:把通用的Task設置在template中,這個Deck中所有的Card都自動繼承並使用這些task。
Card Level:只在當前的Card中有效,並替換掉Deck Level的相同屬性的Task。
示例:
<wml>
<template>
<do type="options" name="general" label="Back">
<prev/>
</do>
</template>
<!-- a deck level task-->
<card id="Card1">
<p>Hello , this is a test <br/>
<a href="#card2">the second</a>
<p>
</card>
<card id="Card2">
<!-- This Card override the deck level task by noop -->
<do name="general" type="options" label="none">
<noop/>
</do>
<p>nothing happend here</p>
</card>
</wml>