WAP - WML 语法


WAP体系结构的最顶层由WAE(无线应用环境)组成,WAE由WML和WML脚本语言组成。

WML 脚本语言用于设计通过无线设备(例如移动电话)发送的应用程序。这种语言照顾小屏幕和低传输带宽。WML 是 XML 的一种应用,它是在文档类型定义中定义的。

WML 页面称为卡片组。它们被构造为一组卡片,通过链接相互关联。当从手机访问 WML 页面时,页面中的所有卡片都会从 WAP 服务器下载到手机上显示内容。

WML 命令和语法用于显示内容以及在卡片之间导航。开发人员可以使用这些命令在手机上声明变量、格式化文本以及显示图像。

WAP 程序结构

WML 程序通常分为两部分 -文档序言正文。考虑以下代码 -

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
   <card>

   ...
   </card>
   ...more cards...
</wml>

该文本的第一行表示这是一个 XML 文档,版本是 1.0。第二行选择文档类型并给出文档类型定义(DTD)的 URL 。该 DTD 给出了 WML 的完整 XML 定义。引用的 DTD 是在 WAP 1.1 中定义的,但此标头随 WML 的版本而变化。必须准确复制标头,以便工具包自动生成此序言。

正文包含在 <wml>...</wml> 标记对内,如上所示。WML 文档的正文可以包含以下一项或多项 -

  • 甲板

  • 卡片

  • 所要显示的内容

  • 导航说明

WML 命令

WML 中使用的命令总结如下:

格式化

命令 描述
<p> 段落
<b> 大胆的
<大> 大的
<em> 强调
<我> 斜体
<小> 小的
<强> 强烈强调
<u> 下划线
<br> 越线

插入图像

<img src="image-path/image - name" alt="Picture not available" />

使用表格

命令 描述
<表> 表的定义
<tr> 定义一行
<td> 定义列
<头部> 表头

变量

声明为 -

<setvar name="x" value="xyz"/>

用作 -

$ identifier or
$ (identifier) or
$ (Identifier; conversion)

形式

命令 描述
<选择> 定义单个或多个列表
<输入> 用户输入
<选项> 定义可选列表中的选项
<字段集> 定义一组输入字段
<选择组> 在可选列表中定义选项组

任务要素

命令 描述
<前往> 代表切换到新卡的动作
<闲聊> 说什么都不应该做
<上一页> 代表返回上一张卡的动作
<刷新> 刷新一些指定的卡变量。

活动

各种事件如下 -

命令 描述
<做> 定义 do 事件处理程序
<一个事件> 定义一个 onevent 事件处理程序
<邮局> 定义后场事件处理程序
<定时器> 定义 ontimer 事件处理程序
<onenterforward> 定义一个 onenterforward 处理程序
<向后输入> 定义一个 onenterbackward 处理程序
<onpick> 定义 onpick 事件处理程序

WML 程序示例

将以下 WML 代码保存到服务器上的 info.wml 中。如果您的服务器启用了 WAP,那么您可以使用任何 WAP 设备访问此页面。

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<!-- WML prolog.declaration of file type and version>

<wml>
<!-- Declaration of the WML deck>
<card id="info" newcontext="true">
<!-- declaration of a card in deck>
<p align="center"><b>Information Center</b></p>
<!--paragraph declaration to display heading>
<p>
<!--paragraph declaration to display links>
<a href="Movie.wml">1. Movies info.</a>
<a href="Weather.wml">2. Weather Info.</a>
<!--declaration of links for weather and movies>
</p>
</card>
<!-- card end>
</wml>
<!-- program end>