WML——XML标记语言开发实例详细解析

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

本文主要介绍WML的相关知识,如何开发WAP应用程序。

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:

Name: $(name)

Password: $(password)

</p>

</card>

</wml>

在这个deck中包含了三个card,可以一并下载到客户端,通过按键操作我们就可以在不同的card之间进行切换,你可以在手机或者winwap模拟器中看看运行的效果。下面是winwap下的运行截图。

虽然我们已经可以开发wml的应用了,但是这些究竟都是些静态的内容。假如我们要开发和服务器交互的功能呢?答案当然是我们可以使用Servlet技术。看下面的例子:

<?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="Order" title="Query Inventory">

<p>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航