wap学习笔记

一、              什么是 WAP

无线产品提出了 WAP 的理念。此标准的要点是在无线设备上展示因特网内容。

·  WAP 指无线应用协议

·  WAP 是一种应用程序通信协议

·  WAP 被用来访问服务及信息

·  WAP 继承于因特网标准

·  WAP 针对诸如移动电话的手持设备

·  WAP 是一种为微浏览器设计的协议

·  WAP 使创建针对移动设备的 web 应用程序成为可能

·  WAP 使用标记语言 WML (不是 HTML

·  WAP 作为 XML 1.0 的一种应用被定义

二、              无线应用协议( Wireless Application Protocol

WAP 是一种用于在无线终端(比如数字移动电话)进行信息服务的主要的标准。

WAP 标准基于因特网标准( HTML XML 以及 TCP/IP )。它包括 WML 语言规范、 WMLScript 规范以及无线电话应用接口规范( WTAI )。

WAP WAP 论坛( WAP forum )发布,被爱立信、摩托罗拉、诺基亚以及 Unwired Planet 创建于 1997 年。论坛的成员目前占据着超过 90% 的全球手机市场,同时又是领先的基础设施提供商、软件提供商及其他机构。您可以在我们的 WAP 论坛页面找到有关 WAP 论坛的更多信息。

三、              WAP 微浏览器

为了适合小型无线终端, WAP 使用了一种微浏览器。

微浏览器是一种小型软件,可向硬件、内存和 CPU 发布基本的指令。它可以显示用一种由被称为 WML 的受限标记语言编写的信息。

微浏览器也可翻译一种被称为 WMLScript JavaScript 简化版。

四、              什么是 WML

WML 指无线标记语言。它是一种从 HTML 继承而来的标记语言,但是 WML 基于 XML ,因此它较 HTML 更严格。

WML 被用来创建可显示在 WAP 浏览器中的页面。用 WML 编写的页面被称为 DECKS DECKS 是作为一套 CARDS 被构造的。

五、              什么是 WMLScript

WML 使用 WMLScript 在客户端运行简单的代码。 WMLScript 是一种轻量级的 JavaScript 语言。不过, WML 脚本并不嵌在 WML 页面中。 WML 页面仅仅含有对脚本 URL 的引用。 WML 脚本在 WAP 浏览器运行之前,需要先在服务器上被编译为字节编码。

六、              WAP 主页

WAP 的主页与 HTML 的主页非常不同。用于 WAP 的标记语言是 WML (Wireless Markup Language) WML 使用标签 - 类似 HTML - 但是语法更严格且遵守 XML 1.0 标准。

WML 页面的扩展名是 *.WML ,就像 HTML 页面的扩展名是 *.HTML 一样。

七、              WML 标签

WML 几乎都是关于文本的。会拖慢手持设备之间通信的标签不会成为 WML 标志的组成部分。表格和图像的使用被严格限制。

由于 WML 是一种 XML 应用,因此其标签对大小写敏感( <wml> <WML> 不同),且标签必须正确关闭。

八、              WML Deck Card

WML 页面叫作 DECK (卡片组)。 DECK 是由一系列 CARD (卡片)构造的,卡片之间通过链接彼此联系。当从移动电话访问一张 WML 页面时,页面中的所有卡片都会从 WAP 服务器下载下来。卡片之间的导航是通过电话的计算机完成的 - 在电话内部 - 不需要对服务器的额外访问。

九、              链接

可以制作 WML 卡片来显示 WML 的锚功能。

<anchor>

<anchor> 标签总是要规定一个任务 ("go", "prev", "refresh") 。任务定义了当用户选择此链接时要做的事情。在本例中,当用户选择 "Next page" ,其任务是 " 前往 test.wml"

十、              WML 任务

任务 (task) 定义了事件发生时所执行的动作,比如在输入一个卡片或选择一个链接之类的时间发生时。

 

开始标签

作用

WML

<go>

表示切换到新卡片的动作。

1.1

<noop>

规定不做任何事情。用于覆盖卡片组级别的元素。

1.1

<prev>

表示后退到前面的卡片的动作。

1.1

<do>

标签用于在用户点击屏幕上的某个单词或短语时启动一个任务

1.1

<refresh>

刷新一些指定的卡片变量。如果有变量显示在屏幕上,此任务也刷新屏幕。

1.1

十一、       计时器 (Timer)

可以制作 WML 卡片来使用 WML 的计时器功能。计时器的时间单位是一秒的十分之一。

下面的例子将用 3 秒来显示一条消息,然后切换到文件 "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 ontimer="test.wml">

 

<timer value="30"/>

<p>Some Message</p>

 

</card>

</wml>

十二、       变量

当用户在卡片组的卡片之间切换时,我们需要在变量中存储数据。 WML 变量对大小写敏感。

通过 Setvar 命令规定变量

当用户执行任务时(比如 go, prev refresh ),可使用 Setvar 元素设置带有指定值的变量。

下面的例子将创建一个名为 i 的变量,值是 500

<setvar name="i" value="500"/>

name value 属性是必需的。

为输入元素规定变量

可以为输入元素(比如 input, select, option 等等)设置变量:

下面的例子将创建名为 schoolname 的变量:

<card id="card1">

<select name="schoolname">

<option value="HTML">HTML Tutorial</option>

<option value="XML">XML Tutorial</option>

</select>

</card>

使用上例中创建的变量:

<card id="card2">

<p>You selected: $(schoolname)</p>

</card>

十三、       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="card1" title="Tutorial"> 
<do type="accept" label="Answer"> 
   <go href="#card2"/> 
</do> 
<p> 
<select name="name">  
   <option value="HTML">HTML Tutorial</option> 
   <option value="XML">XML Tutorial</option> 
   <option value="WAP">WAP Tutorial</option> 
</select> 
</p> 
</card> 
  
<card id="card2" title="Answer"> 
<p> 
You selected: $(name) 
</p> 
</card> 
  
</wml> 

例子解释

Prolog

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">

WML 文档中的第一行称为 prolog prolog 定义了文档是 XML 文档,然后它定义了 XML 的版本,以及要引用的 DTD

Deck

<wml> ..... </wml>

deck WML 文档本身。它被嵌套在 >wml> 标签中。

Cards

<card> ..... </card>

一次只显示一个卡片。这个 WML 卡片组包含两个卡片 - 一个供用户输入,一个供结果显示。

<do> 元素

<do> ... </do>

第一个卡片拥有 <do> 元素,该元素定义了被触发的事件。 <do> 元素的 type="accept" 属性使 label="Answer" 显示在屏幕的左下角。

Event

当用户点击 <do> 标记时会触发 <go> 元素。 <go> 元素的 href="#card2" 属性使卡片二显示在屏幕上。

Variable

卡片二显示来自卡片一的 $(name) 变量,因为变量在卡片之间是有效的。

十四、       附录

Deck / Card 元素

开始标签

作用

WML

<access>

定义关于 deck 的访问控件的信息。

1.1

<card>

定义 deck 中的一个 card

1.1

<head>

包含关于文档的信息。

1.1

<meta>

定义有关文档的元信息。

1.1

<template>

deck 中的所有 card 定义代码模板。

1.1

<wml>

定义 WML deck (WML )

1.1

<!-->

定义注释。

1.1

文本元素

开始标签

作用

WML

<br>

定义一个换行。

1.1

<p>

定义一个段落。

1.1

<table>

定义表格。

1.1

<td>

定义一个表格单元(表格数据)。

1.1

<tr>

定义一个表格行。

1.1

文本格式化标签

开始标签

作用

WML

<b>

定义粗体的文本。

1.1

<big> 

定义大号的文本。

1.1

<em>

定义着重文本。

1.1

<i>

定义斜体的文本。

1.1

<small>

定义小号的文本。

1.1

<strong>

定义强调文本。

1.1

<u>

定义下划线文本。

1.1

锚元素

开始标签

作用

WML

<a>

定义一个锚(链接)。

1.1

<anchor> 

定义一个锚(链接)。

1.1

图像元素

开始标签

作用

WML

<img>

定义图像。

1.1

事件元素

开始标签

作用

WML

<do>

在用户点击屏幕上的一个单词或短语时激活一个任务。

1.1

<onevent>

包含了当某些事件发生时所执行的代码。

1.1

<postfield>

包含了连同 <go> 标签被送往服务器的信息。

1.1

任务元素

开始标签

作用

WML

<go>

表示跳转到新卡片的动作。

1.1

<noop>

表示不进行任何动作( noop 指的是 "no operation" )。

1.1

<prev>

表示返回前一个访问过的卡片。

1.1

<refresh>

刷新指定的卡片变量。如果有变量显示在屏幕上,此任务也会刷新屏幕。

1.1

输入元素

开始标签

作用

WML

<fieldset>

用于对卡片中的相关元素进行分组。

1.1

<input> 

定义输入字段(用户可在其中输入文本的文本域)。

1.1

<optgroup>

定义可选列表中的一组选项。

1.1

<option>

定义可选列表中的选项。

1.1

<select>

定义可选列表。

1.1

变量元素

开始标签

作用

WML

<setvar>

<go> <prev> <refresh> 任务中把变量设置为指定的值。

1.1

<timer>

定义卡片计时器。

 

字符实体

结果

描述

实体名称

实体编号

&

ampersand

&amp;

&#38; 

'

apostrophe

&apos;

&#39;

greater-than

&gt;

&#62;

less-than

&lt;

&#60;

 

non-breaking space

&nbsp;

&#160;

"

quotation mark

&quot;

&#34;

­

soft hyphen

&shy;

&#173;

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://my.oschina.net/jackruan/blog/498673

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值