WML基本情況
WML----Wireless Markup Language
WML是XML的子集。WML文件以*.wml命名。WML文件必須滿足XML文檔的規則。
WML文檔通常使用XML解釋器解釋。
WML文檔編輯環境
編輯器---WML本身是文本,所以任何文本編輯器都可以完成。
模擬器---NOKIA ERICSSON MOTOROLA等都可以。
圖形轉換--製作適合WAP的圖片,pic2wbmp。
文字轉換--漢字<-->UNICODE UTF-8。
WML文件結構
WML文檔頁面通常叫做桌面(DECK),由一組互相連接的卡片(CARD)組成。
當移動設備訪問WML的一個頁面,頁面所有的CARD都下載到WAP設備裏面。CARD的切換由電話內置的設備處理,不再從服務器上取信息了。
CARD可以包含文本、標記、鏈接、輸入控制、任務(TASK)、圖像等等。
文檔包含在下面的格式裏面:
實體--<xml>...</xml>
CARD--<card>...</card>
文字--<p>...</p>
簡單例子:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="HELLO" title="HELLO">
<p>
Hello world!
</p>
</card>
</wml>
顯示結果如下:
------ HELLO ------
Hello World!
WML字符集:
WML是XML的子集,繼承了XML的字符集設置。
WML文檔缺省的字符集是UTF-8。
要顯示中文有兩種方式:
1、在前面指定字符集,但是目前不支持,具有關人士說,CDMA的手機都已經基本上支持;
<?xml version="1.0" encoding="gb2312"?>
2、使用UNICODE代碼來代表中文:
<b>通讯录</b>
代表:
通訊錄
WML元素:標記(Tag)和屬性
由於標記會降低WAP設備的通訊速度,所以WML標準裏面僅僅使用了很少的一部分,大部分還是文本。
用於表格和圖像的標記基本上都被忽略了。
<tag>內容</tag> 例如:<p>Hello world!</p>
或
<tag/> 例如:<br/> 和 <go href="#done"/>
WML同樣支持標誌中標出屬性。屬性不在屏幕上顯示出來。
WML標記和屬性的值都是大小寫敏感的(<xml>和<XML>是不一樣的),而且標記必須嚴格按照xml的標準結束。
WML要求屬性的值必須放在雙引號或者單引號內。單引號可放在屬性標誌內或者雙引號內。
字符也可以爲屬性的值。
WML註釋
XML支持的註釋格式:
<!You can not see this missage--->
WML不支持嵌套元素註釋。
鏈接(URL)
WML外部引用方式跟HTML相同
http://www.wap86.net/great.wml 或
http://www.wap86.net/great.wml#login
如果是內部引用,如果next是當前的DECK中的一個CARD時,可以使用這種方式:
#next
提供鏈接的WML元素有2個:<go>和<anchor>。
CDATA
XML支持CDATA的概念,顯示不需要解釋的文本信息。
<! [CDATA [ <card name="bogus"><p>this is data</p></card> ] ]>
瀏覽器窗口將顯示如下內容:
<card name="bogus"><p>this is data</p></card>