目标 本课中,你将学习 : wml 的结构 卡片和卡片组元素...
DESCRIPTION
目标 本课中,你将学习 : WML 的结构 卡片和卡片组元素 卡片和卡片组元素的属性 导航和管理卡片 模板和 noop 元素 用于格式化的标签 事件处理程序 href 和 anchor 标签 输入元素. Objectives (Contd.) WMLScript 的需要 WMLScript 解释器体系结构 WMLScript 中运算符. WML 结构 WML 把其内容结构为所谓卡片的页面,卡片可组合成卡片组 。 WML 中所有标签都是大小写敏感的 。 WML 结构可分为两部分 : 体 首部. 首部 - PowerPoint PPT PresentationTRANSCRIPT
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 1
目标 本课中,你将学习 : WML 的结构 卡片和卡片组元素 卡片和卡片组元素的属性 导航和管理卡片 模板和 noop 元素 用于格式化的标签 事件处理程序 href 和 anchor 标签 输入元素
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 2
Objectives (Contd.) WMLScript 的需要 WMLScript 解释器体系结构 WMLScript 中运算符
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 3
WML 结构 WML 把其内容结构为所谓卡片的页面,卡片可组合成卡片组 。 WML 中所有标签都是大小写敏感的 。 WML 结构可分为两部分 :
体 首部
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 4
首部 所有 WML 卡片组都以以下 XML 首部开始 :
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 5
体 卡片组的 WML 代码括在 <wml>...</wml> 标签对内 ,这是
WML 文档的体 。 卡片组内的卡片用 <card>...</card> 标签对定义 。 <p>...</p> 标签对标记作为节元素的任何文本 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 6
稍等一下 …1. 讨论 WML 结构的两部分 。 2. <card>...</card> 标签对的属性是什么?
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 7
卡片和卡片组 WML 页面称为卡片 。 一组卡片构成了卡片组 。 在卡片显示之前,完整的卡片组被下载到 WAP 设备。 卡片元素可包含文本、链接、输入字段、任务及图象 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 8
定义卡片所用的元素 用以下元素定义卡片:
WML <wml>…</wml> 标签对定义卡片组 。
卡片 用 <card>...</card> 标签对在 <wml> …</wml> 标签内定义卡片 。 有两个属性 :
Id: 属性给出卡片组内指示该卡片的唯一的标识符 。 Title: 属性给出卡片的名,并由多数浏览器显示它 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 9
定义卡片所用的元素 ( 续 ) 首部和元
<head>...</head> 标签对包含关于整个卡片组的信息 。 <meta/> 标签定义了关于卡片组的通用元信息 。
访问
<access>…</access> 标签对通过位置、区域、和路径把卡片的访问限制在某个卡片组 。 包含在 <head>...</head> 标签对内。
让我们看一看显示“ Hello World” 的 WML 代码
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 10
稍等一下 …1. 什么是卡片组?什么是卡片 ?2. <meta/> 标签包含什么? 3. <access>...</access> 标签对做什么?
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 11
导航和管理卡片 卡片组大小
卡片组没有固定的大小 。但最爱用大小是 1.4 KB ( 字节代码 ) 。 多个卡片
在卡片组的多张卡片的情况下,按以下方式访问卡片 :[deckname][#cardname]
为导航卡片,需要以下标签: <do> <go> <prev/>
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 12
<do> 标签 指出当前卡上用户某种类型动作的应答。 有以下属性:
type
name
label
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 13
<go> 标签 用于导航到另一张卡片、卡片组、或位置 。 放在 <do> 或 <anchor> 标签内。 它有一个强制性属性: href 属性 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 14
<prev/> 标签 是空标签。 用于向后导航 。 放在 <do> 或 <anchor> 标签内 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 15
让我们看一看 WML 的代码,它有两张卡片: card1 和card2 。用户可用 <do>, <go/> 和 <prev/> 标签导航它们。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 16
稍等一下 …1. <do> 标签的 type 属性指示什么? 2. <go> 标签的功能是什么? 3. 要让浏览器回到刚访问过的卡片,使用哪个标签?
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 17
模板 对卡片组中所有卡片提供同样的功能。 可减少代码的重复性,因为只要一次创建选项,就可在所有的卡片中重用 。 用 <template>...</template> 标签对应用到卡片。 可有以下的事件属性:
onenterforward
onenterbackward
ontimer
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 18
让我们看一看实现模板的 WML 代码。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 19
Noop 元素 用于执行 ‘ no-operation’ 。
用于重设卡片组级的 do 元素。 用 <noop/> 标签实现。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 20
稍等一下 … 1. 为什么要使用模板? 2. 重设模板的规则是什么? 3. 模板元素的属性是什么? 4. 什么是 noop 元素?
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 21
用标签格式化文本 WML 种格式化文本所用的标签是:
<b>…</b>
<i>…</i>
<u>…</u>
<em>…</em>
<strong>…</strong>
<big>…</big>
<small>…</small>
<br/>
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 22
用标签格式化文本 现在考察使用某些风格显示文本格式化的 WML 代码。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 23
使用事件处理程序 事件
用来使 WAP 应用动态化 。 用 WML 处理 <onevent> 标签。 可用 WML 处理的是:
ontimer 用来为应用设置时间。
onenterforward 当用户第一次打入卡片时出现。
onenterbackward 当用户逆向导航到以前看到的卡片时出现 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 24
使用事件处理程序 让我们考察处理事件的例子。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 25
用 href和 anchor 标签创建链接 anchor 是一种用于指出卡片之间导航的方法。 它指出正在链接的卡片的位置、以及作为 anchor 的文本或图象 。 用链接到卡片 <anchor>…</anchor> 标签指示 Anchor 。
<go> 标签意味:当 anchor 内的文本被选择时,显示由 <go>标签的 href 属性所指的 WML 卡片,替代当前显示的卡片 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 26
用 href和 anchor 标签创建链接 ( 续 ) 可用来形成 WAP 应用中链接的另一个标签是 <a>...</a> 标签对。 与 <a> 标签一起指出 href 属性的值 。 不必指出 <go> 标签 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 27
处理用户输入 为接受用户的字母数字数据的输入,增强了用户和 WAP 设备之间的交互 ,可用以下标签:
<input/> 标签 显示屏幕上文本框 。 有以下属性:
name value type format size maxlength
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 28
处理用户输入 ( 续 ) <option>…</option> 标签
显示卡片中选项的列表 。 选项的列表放在 <select>...</select> 标签对内 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 29
稍等一下 … 1. 使文本有下划线使用哪个标签? 2. 用 WML 可处理哪些事件?3. <onevent> 标签的功能是什么? 4. 什么是 anchor 元素?它与 go 元素有什么不同?5. href 属性做什么?
6. 用 <input/> 标签中哪个属性来限制特定字符数的输出?
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 30
WMLScript 用于客户端的数据确认和操纵 。 在优化级使用,使得到服务器的行程减少,提高性能。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 31
WMLScript 解释器体系结构 WMLScript interpreter
取 WMLScript 字节代码作为它的输入 ,当它们被调用时执行已编码的函数 。
WMLScript 解释器的体系结构
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 32
WMLScript 解释器体系结构 ( 续 ) 当解释 WMLScript函数时,维护以下状态信息:
指令指针 (IP)
变量 操作数栈 函数调用栈
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 33
WMLScript 中运算符 用来执行预定义运算的工具 。 使用的以下类型运算符:
赋值运算符 算术运算符 逻辑运算符 关系运算符 typeof 运算符 isvalid 运算符 条件运算符
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 34
稍等一下 … 1. 为什么需要 WMLScript ? 2. 什么是编译指示? 3. WMLScript 中运算符是什么 ?
4. 什么是 typeof 运算符?
5. 什么是 isvalid 运算符?
6. 讨论 WMLScript 中函数 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 35
示例应用 FineGifts.com, 作为促销战役的一部分,要向由手机访问过他们站点的客户赠送礼品。为得到礼品,访问过站点的移动用户彼此注册。 Web站点提供两类礼品:玩具和花。站点也允许访问者在确认他们的礼品选择之前改变所选礼品 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 36
示例应用WinPrizes.com 是一个在移动设备上进行测验的 Web站点。检查用户的回答,回答正确的某些用户给以礼品。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 37
小结 本课中,你学习了 :
移动设备中显示的页面称为卡片 。 若干个卡片组成了卡片组 。 卡片组是 Web服务器发送给客户的 WML 的最小单位 。 用模板为卡片组中所有卡片提供同样的功能 。 用 do 和 onevent 元素处理模板的事件 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 38
小结 ( 续 ) Noop 是空操作元素,用来阻止用户执行某种动作 。 用相应的标签可使 WML 卡片中文本格式化 。 可在 WML 中处理的事件是 :
ontimer
onenterforward
onenterbackward
使用 anchor和 href 元素,可使卡片中文本超链接到同一个或不同的卡片组中卡片 。
WML 和 WMLScript
©NIIT WAP 和 WML 概述 / 课 2/ 幻灯片 39 的 39
小结 ( 续 ) WMLScript 用于客户端数据确认和操纵 。 用 WMLScript 解释器取出 WMLScript 字节代码,并执行它已编码的函数 。 运算符是执行如:数学计算、比较、及赋值之类预定义运算的工具 。 函数内应使用 WMLScript 的所有代码 。