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>