WML――XML标记语言开发实例详细解析 (1)
WML是一种基于XML的标记语言,她的官方说明和规范是由WAP论坛维护的。WML的文档类型定义是xml文件类型的,http://www.wapforum.org/DTD/wml_1.1.xml。
和HTML语言一样,WML是为了显示数据的,而XML的目的则是描述数据,我们定义了一系列的标记并组织成为语法规范把它称为DTD(Document;Type;Definition)。支持WAP的手机里面都安装了WAP浏览器他能够解析这些标记并正确显示在手机屏幕上。
通常在WML的文本的开头都有这样的内容
<xml;version=1.0>
<!DOCTYPE;wml;PUBLIC;"//WAPFORUM//DTD;WML;1.1//EN";"http://www.wapforum.org/DTD/wml_1.1.xml">
我们把它叫做序言。在后面就是标记了,我们所有的数据都是嵌套在这两个标记里面的。WML的标记非常少,基本可以分为两种一种称为Deck/Card一种称为Event。在这里不能一一讲述,在我们开发WML应用的时候参考手册就可以了,我给大家提供一个在线的参考:Online;WML;Tag;Reference。;
在标记内的内容我们把它称为deck,每个屏幕的内容我们把它定义为card,由于WML是为无线网络传输定义的,充分考虑到带宽的限制,我们允许在一个deck内包含多个card并可以一起下载到用户代理中,这样我们就可以在本地进行不同屏幕的切换了,避免每次都去联网。当然这也给客户端增加了负担,因此我们要避免在deck内包含过多的card。;
下面我们编写一个WML的例子test.wml,内容如下:;
<?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="Login";title="Login">
<do;type="accept";label="Password">
<go;href="#Password"/>
</do>
<p>
UserName:
<select;name="name";title="Name:">
<option;value="John;Doe">John;Doe</option>
<option;value="Paul;Smith">Paul;Smith</option>
<option;value="Joe;Dean">Joe;Dean</option>
<option;value="Bill;Todd">Bill;Todd</option>
</select>
</p>
</card>
<card;id="Password";title="Password:">
<do;type="accept";label="Results">
<go;href="#Results"/>
</do>
<p>
Password:;<input;type="text";name="password"/>
</p>
</card>
<card;id="Results";title="Results:">
<p>
You;entered:<br/>
Name:;$(name)<br/>
Password:;$(password)<br/>
</p>
</card>
</wml>