WML语言.docx

上传人:b****6 文档编号:7584576 上传时间:2023-01-25 格式:DOCX 页数:28 大小:76.15KB
下载 相关 举报
WML语言.docx_第1页
第1页 / 共28页
WML语言.docx_第2页
第2页 / 共28页
WML语言.docx_第3页
第3页 / 共28页
WML语言.docx_第4页
第4页 / 共28页
WML语言.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

WML语言.docx

《WML语言.docx》由会员分享,可在线阅读,更多相关《WML语言.docx(28页珍藏版)》请在冰豆网上搜索。

WML语言.docx

WML语言

WML语言与编程

罗堃2000-04-24

北京航空航天大学BY9071

WAP构架

♦WML是一种适用于无线互连网的标记语言。

♦WAP(WirelessApplicationProtocol)是适用于无线互连网的网络协议。

♦客户是各种基于WAP协议的手掌设备或者是各种模拟器。

♦WAP网关有两个功能:

对WML网页进行编码和解码;实现HTTP协议和WAP协议之间的转换。

♦WAP服务器是指在MIME配置中设置了WML数据类型的Web服务器。

♦为什么采用WAP:

方便、安全。

URL

♦WML使用和HTML相同的引用方式。

♦在URL后使用片段。

♦相对的URL——基础的URL是当前的卡片。

ContentType

♦在互联网上使用WML数据类型。

♦要想使用Web服务器传输WML数据类型,就需要对Web服务器的MIME设置进行配置。

♦需要增加以下数据类型:

wml:

text/vnd.wap.wml

wmlc:

application/vnd.wap.wmlc(经过编码WML数据类型)

wmls:

text/vnd.wap.wmlscript

wbmp:

image/vnd.wap.wbmp(BMP图象)

其他可选的数据类型:

wmlsc:

application/vnd.wap.wmlscriptc

wmlscript:

text/vnd.wap.wmlscript

ws:

text/vnd.wap.wmlscript

wsc:

application/vnd.wap.wmlscriptc

WML字符集

♦WML是XML的子集,继承了XML的字符集设置。

♦WML文档缺省的字符集是UTF–8。

♦显示中文。

只要在开头使用encoding就可以。

在MotorolaL2000www上测试通过。

xmlversion="1.0"encoding="gb2312"?

>

元素和属性

♦元素

1.一个完整的WML标记有以下两种格式:

content

♦属性

1.可以随意地指定或添加元素的属性。

2.属性的格式:

3.所有的XML名字都是大小写敏感的。

4.所有的属性值都必须用双引号或单引号括起来。

变量

♦WML卡片中可以使用变量。

♦描述变量的语法在WML中有最高的解释优先级。

♦当空格无法表示一个变量名结束的时候,就必须使用括号将参数名括起来。

♦$$在WML中代表一个‘$’符号。

♦变量语法格式如下:

$identifier

$(identifier)

$(identifier:

conversion)

♦变量使用说明:

1.可以在字符串中使用。

2.可以在运行中更新变量的值。

3.变量处于设置状态(NOTNULL),如果变量不等同于空字符串。

4.变量处于未设置状态(NULL),如果变量等同于空字符串。

♦变量替代:

1.变量的数值可以代入卡片中的文本。

2.只有文本部分可以实现替代。

3.任何元素和属性都不能使用变量来替代。

4.替代将在运行期发生。

5.替代将不影响变量现在的值。

6.替代是按照字符串替代的方式工作。

7.如果一个没有定义的变量要实现替代,那么该变量将被看作空字符串。

8.变量名是由US-ASCII码、下划线和数字组成,并且只能以US-ASCII码开头。

9.变量名是大小写敏感的。

‘$’符号

♦美元符号

1.要想在文本中显示美元符号,必须成对使用。

2.一个美元符号表示变量替代。

3.一个简单的显示美元符号的例子:

Thisisa$$character.

♦有效性

1.在美元符号后面接字符串都将被认为是变量替代或者是生效。

2.几个无效的例子:

--badvariablesyntax-->

Balanceleftis$10.00.

—badplacement(inthetypeattribute)-->

Newcontext属性

Newcontext等于true或false,将决定浏览是否做以下事情:

♦删除所有在当前上下文中定义的变量。

♦清除历史信息。

♦重新设置所有的状态为一个缺省的状态。

大小写敏感

♦WML和XML都是大小写敏感的语言。

♦所有的WML标记和属性都是大小写敏感的。

♦任何枚举的属性值也是大小写敏感的。

页面和卡片

♦WML是XML语言的子集。

♦一个WML应用是由许多页面(Deck)所组成的。

一个WML的页面就相当于HTML的一页。

♦一个WML页面是由文件声明和WML标记对组成。

♦WML标记对中间有一个或多个卡片组成。

♦WML就是在各个卡片之间转换和传递信息。

WML标记对

♦WML标记对是任何一个WML页面的根元素。

♦WML标记对中可以包含一个或多个卡片,和可选的头元素。

♦WML标记对中可以使用可选的“模板”来生成其所包含的所有卡片。

WML例子

Helloworld!

Thisisthefirstcard…

Thisisthesecondcard.

Goodbye

文件声明

♦XML声明总是在文件的第一行。

xmlversion=”1.0”?

>

♦DOCTYPE声明。

DOCTYPEWMLPUBLIC“-//WAPFORUM//DTDWML1.1//EN”http:

//www.wapforum.org/DTD/wml_1.1.xml>

事件与导航

♦导航与事件处理:

1.WML包括导航和事件处理模块。

2.WML允许作者指定需要处理的事件。

3.事件可以和所需要完成的任务捆绑在一起。

4.URL导航就是这样的一个例子。

5.事件捆绑是通过几种元素声明来完成的,包括:

go、do和onevent。

6.Do元素比Go元素需要用户更多的参与。

Do元素

♦Do元素提供了一个通用的事件处理机制,使得用户可以参与当前卡片的事件处理。

♦WML提供一些预先定义的Do模块。

♦accept:

确定(或接受)。

♦prev:

返回到上次的位置。

♦help:

请求帮助。

♦options:

上下文敏感的选项请求。

任务

♦Go元素——当用户选中该元素时,就引导用户去WML中指定URL。

MotorolaWireless

♦Prev元素——当用户选中该元素时,就引导用户去上次用户访问过的URL。

♦Refresh元素——当用户选中该元素时,变量值将被重新设置。

Setvar元素

♦指定在当前的上下文中的变量的值,从侧面影响正在运行的任务。

♦必须使用name属性指定变量的名字。

♦必须使用value属性指定所需要赋给变量的值。

Select元素和Option元素

♦Select元素和Option元素是用来在WML中形成选择任务。

♦Option元素可以指定在用户作出选择后的目标地址。

boxed

arranged

Input元素

♦Input元素是用来收集用户的输入。

1.name属性是用来指定变量的名字。

2.value属性可以指定变量缺省的值。

3.type属性可以用来指定按密码输入模式进行输入,否则就是普通的文本输入模式。

4.format属性用来指定输入的内容是数字(N)、字母、字母和数字,输入长度,大写或者小写等等。

Text元素

♦段落:

(自动换行模式切换)

♦空白:

空格、制表符和换行都将被显示为空白。

♦重点:

em(强调),strong(特别强调),i(斜体),u(下划线),big(预定义的大字体),small(预定义的小字体)。

♦br元素:

建立新的一行。

Welcometo…

Mobile

ADK

超级链接

♦a元素和anchor元素被用来创建一个超级链接。

选中该元素的时候,用户将被带入到链接的地址(可以是另外的页面或者是同一页面下的不同卡片)。

♦也可以不使用a元素和anchor元素,而采用go元素中的href属性来创建一个超级链接。

1.followme

2.followme

3.

Timer元素

♦Timer可以用来延时显示页面或卡片,或在页面和卡片间实现切换以取得动画效果。

♦下面的例子就是在显示“HelloWorld”五秒钟后,用户将被自动引导至“/next”所指定的位置:

HelloWorld!

注释

♦简单的注释(单行或多行,注释中没有WML标记)。

—Putsimplecommenthere-->

♦使用CDATA标记来实现带有WML标记的注释。

[CDATA[lotofstuffhereboldtext

…stilllotmore

]]>

Template元素

♦Template元素声明一个在页面中所有卡片都可以使用的事件处理模块。

1.模块中的事件处理将自动应用于同一页面中的所有卡片。

2.某个卡片可以通过定义同名的事件处理来替代模块中的事件处理。

—该卡片将自动套用模块中定义的事件处理过程-->

—该卡片将使用空操作(noop)来替代模块中定义的事件处理过程,那么就等价于该卡片中没有该事件处理过程—>

—该卡片使用同名的事件处理替代模块中提供的事件处理—>

Table元素

♦Table元素是用来创建能容纳文本和图片的表格。

1.align属性是用来指定对齐的方式(”L”是左对齐,”C”是对中,”R”是右对齐。

缺省的对齐方式是从左到右的左对齐方式)。

OneTwo

12

BAB

2.tr元素用来指定表格的行。

3.td元素用来指定表格的列。

OneTwo

12

BAB

图标

♦alt属性指定可选的文本,当设备不能显示图象的时候。

♦src属性指定图象的来源。

♦align属性指定图象与相临的文本对齐。

//ni-icsd/genevaw/logo.gif”/>

Telecom99

Postfield元素

♦指定向原始服务器指定提交时候的参数名字和参数数值。

1.Login和Password效验是最常用提交。

2.一个使用go元素的提交例子。

//193.120.145.194:

80/wap”methos=”post”>

事件

♦ontimer事件:

该事件发生在计时器过期的时候。

♦onenterforward事件:

该事件发生在用户选中一个有效的URL之后,在正式引导用户去该URL地址之前。

♦onenterbackward事件:

该时间发生在用户选中一个有效的Prev操作之后,在正式引导用户之前。

♦onpick事件:

该事件发生在用户选中某个选项。

Help

Hello

WML核心数据类型

♦长度

1.可以用整数指定画布(屏幕、纸张)的像素大小,或者用百分数表示占用的长度或宽度。

2.“50”=50个像素。

3.“50%”=占用一半的位置。

4.只能用在属性值中。

ID和Class属性

♦所有的WML元素有两个核心属性:

id和class。

♦这两个属性被用于服务器方的信息传输。

♦id提供某个元素在页面中唯一的名字。

♦class接收元素一个更多的class定义。

♦多个元素可以使用同一个class定义。

♦class的名字是大小写敏感的。

♦元素也可以作为class中的一个部分。

WML编程指导

♦尽量是用户的操作简单、友好。

1.建立一个操作流程图。

2.定义每个卡片的操作。

3.保持每个卡片小而且简单。

4.尽量减少按键的次数。

5.不要使用WML所有的属性(各个厂家对WML兼容情况是不同的)。

创建一个新的WML文件

xmlversion=”1.0”?

>

DOCTYPEwmlPUBLIC“-//WAPFORUM//DTDWML1.1//EN”

“http:

//www.wapforum.org/DTD/WML_1.1.xml”>

—writeyourcodehere-->

修改卡片

♦根据自己的需要改变卡片的id和title。

♦增加卡片的内容。

xmlversion=”1.0”?

>

DOCTYPEwmlPUBLIC“-//WAPFORUM//DTDWML1.1//EN”

“http:

//www.wapforum.org/DTD/wml_1.1.xml”>

MADKWMLDEMO.

增加动作

xmlversion=”1.0”?

>

DOCTYPEwmlPUBLIC“-//WAPFORUM//DTDWML1.1//EN”

“http:

//www.wapforum.org/DTD/wml_1.1.xml”>

MADKWMLDEMO.

Welcometothewirelessbookshop.

建立一个动画消息

Welcometo…

theWonderful

Wireless

Bookstore.

建立选择列表

BookStore.

Scienceornovel:

Science

novel

更多的选择

selectsciencetitle:

TheUniverse

FactsAboutSpace

TimeMachine

selectnoveltitle:

Speed

Terminator

Ghost

Scro

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1