WML - 概述

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

  • WML 代表 Wireless Markup Language

  • WML 是 XML 的一种应用,它是在文档类型定义中定义的。

  • WML 基于 HDML 并进行了修改,以便可以与 HTML 进行比较。

  • WML 能够满足小屏幕和低传输带宽的要求。

  • WML 是 WAP 规范中定义的标记语言。

  • WAP 网站是用 WML 编写的,而网站是用 HTML 编写的。

  • WML 与 HTML 非常相似。 两者都使用标签并以纯文本格式编写。

  • WML 文件的扩展名为".wml"。 WML 的 MIME 类型是"text/vnd.wap.wml"。

  • WML 支持客户端脚本。 支持的脚本语言称为 WMLScript。

WML 版本:

WAP论坛发布了最新版本WAP 2.0。 WAP 2.0 中定义的标记语言是 XHTML Mobile Profile (MP)。 WML MP 是 XHTML 的子集。 称为 WCSS (WAP CSS) 的样式表已随 XHTML MP 一起引入。 WCSS 是 CSS2 的子集。

大多数新发布的手机型号都支持WAP 2.0。 由于 WAP 2.0 向后兼容 WAP 1.x,因此支持 WAP 2.0 的移动设备可以显示 XHTML MP 和 WML 文档。

WML 1.x 是一种较早的技术。 然而,这并不意味着它没有用处,因为许多仅支持 WML 1.x 的无线设备仍在使用。 WML 的最新版本是 2.0,它是为了向后兼容的目的而创建的。 因此WAP网站开发者无需担心WML 2.0。

WML deck和卡片:

HTML 和 WML 之间的主要区别在于 HTML 中导航的基本单位是页面,而 WML 中导航的基本单位是卡片。 一个 WML 文件可以包含多张卡片,它们组成一副卡片。

当从手机访问WML页面时,页面中的所有卡片都是从WAP服务器下载的。 因此,如果用户转到同一个deck的另一个deck,移动浏览器不必向服务器发送任何请求,因为包含该deck的文件已经存储在无线设备中。

您可以将链接、文本、图像、输入字段、选项框和许多其他元素放入卡片中。

WML 程序结构:

以下是WML程序的基本结构:

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

<wml>

<card id="one" title="First Card">
<p>
This is the first card in the deck
</p>
</card>

<card id="two" title="Second Card">
<p>
Ths is the second card in the deck
</p>
</card>

</wml>

该文本的第一行表示这是一个 XML 文档,版本为 1.0。 第二行选择 文档类型并给出文档类型定义 (DTD) 的 URL。

一个 WML deck(即第 页面)可以包含一张或多张卡片,如上所示。 我们将在后续章节中看到有关 WML 文档结构的完整细节。

与 HTML 4.01 Transitional 不同,文本不能直接包含在<card>...</card>标签对中。 所以你需要在<p>...</p>中放入一个内容,如上所示。

WAP 网站设计注意事项:

无线设备受到显示屏和键盘尺寸的限制。 因此,在设计 WAP 网站时考虑到这一点非常重要。

在设计 WAP 网站时,您必须确保一切简单且易于使用。 您应该始终记住,没有标准的微浏览器行为,并且数据链接可能相对较慢,约为 10Kbps。 但是,对于 GPRS、EDGE 和 UMTS,这种情况可能不会持续很长时间,具体取决于您所在的位置。

以下是设计服务时应牢记的一般设计技巧:

  • 将 WML 平台和图像保持在 1.5KB 以下。

  • 保持文本简短且有意义,并尽可能尝试对选项进行预编码,以最大程度地减少用户数据输入的相当痛苦的体验。

  • 保持网址简短且易于记忆。

  • 最小化菜单级别以防止用户迷路和系统变慢。

  • 使用标准布局标签(例如<big> 和 <b>)并逻辑地构建您的信息。

  • 不要过度使用图形,因为许多目标设备可能不支持它们。