Card and Deck

其實WML是由一大堆的Card和Deck構成的,Card指明一個或多個與使用者 單位的互動,舉個例子來說,就像一個選單,包括一整個螢幕的文字, 或是進入文字的範疇,邏輯上,使用者的瀏覽器會經過一系列的WML Card,看過每個的內容後,輸入需要的資訊,做出選擇後,再換到下一個Card, 一群Card聚在一起就稱作Deck,Deck是WML的serer送訊息給使用者的最小單位.

下圖說明card與deck之間的關係

The First WML example[13]

我們舉的第一個例子,是包含兩個Card的Deck,當使用者按下Next這個標誌, 瀏覽器就會跳到第二個Card,並且執行裡面的內容

<?xml ersion="1.0"?>                                        <!-- 1 -->
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">                   <!-- 2 -->
<wml>                                                        <!-- 3 -->
     <card id="First_Card">                                  <!-- 4 -->
          <do type="accept" label="Next">                    <!-- 5 -->
                <go href="#Second_Card"/>                    <!-- 6 -->
          </do>                                              <!-- 7 -->
          <p>                                                <!-- 8 -->
          Select <b>Next</b> to display the next card.       <!-- 9 -->
          </p>                                               <!-- 10 -->
      </card>                                                <!-- 11 -->

      <card id="Second_Card">                                <!-- 12 -->
           <p>                                               <!-- 13 -->
           This card contains the following:...              <!-- 14 -->
           </p>                                              <!-- 15 -->
       </card>                                               <!-- 16 -->
</wml>                                                       <!-- 17 -->

上面程式跑出來的結果如下圖所示

下面我們一行一行地來看這個例子的解釋

1.前兩行定義這文件的序言並且識別WML的subset,這個序言必須包含在所有WML Deck的一開始,也就是說,必須在每個<wml>標籤前

3.第三行定義WML Deck的開頭,所有的WML Deck都必須以<wml>開始,以</wml>結束,詳細資訊請參考wml element文件第24頁

4.Deck的第四行指明這是第一個Card的開頭,像Deck一樣,Card的開始與結束一樣要使用<card>與</card>,大部分的WML element允許妳指明屬性,屬性的輸入形式為attribute=alue,其中arrribate是屬性名,而value是妳所指明的文數字值,詳細資訊請參考card element文件第26頁

5.第五行定義一個動作,指明當使用者按下功能鍵後,使用者端該做什麼動作,type屬性定義ACCEPT這個功能鍵,而label屬性定義Next這個名稱代表前面的功能鍵

6.第六行指明功能鍵與所要做的動作之間的關係,href屬性定義目標URI,例如說Second_Card這個名稱