WML语言.docx
- 文档编号:7584576
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:28
- 大小:76.15KB
WML语言.docx
《WML语言.docx》由会员分享,可在线阅读,更多相关《WML语言.docx(28页珍藏版)》请在冰豆网上搜索。
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标记有以下两种格式:
♦属性
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。
♦Prev元素——当用户选中该元素时,就引导用户去上次用户访问过的URL。
♦Refresh元素——当用户选中该元素时,变量值将被重新设置。
Setvar元素
♦指定在当前的上下文中的变量的值,从侧面影响正在运行的任务。
♦必须使用name属性指定变量的名字。
♦必须使用value属性指定所需要赋给变量的值。
Select元素和Option元素
♦Select元素和Option元素是用来在WML中形成选择任务。
♦Option元素可以指定在用户作出选择后的目标地址。
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.
2.
3.
Timer元素
♦Timer可以用来延时显示页面或卡片,或在页面和卡片间实现切换以取得动画效果。
♦下面的例子就是在显示“HelloWorld”五秒钟后,用户将被自动引导至“/next”所指定的位置:
HelloWorld!
注释
♦简单的注释(单行或多行,注释中没有WML标记)。
—Putsimplecommenthere-->
♦使用CDATA标记来实现带有WML标记的注释。
[CDATA[lotofstuffhereboldtext…
…
…
]]>
Template元素
♦Template元素声明一个在页面中所有卡片都可以使用的事件处理模块。
1.模块中的事件处理将自动应用于同一页面中的所有卡片。
2.某个卡片可以通过定义同名的事件处理来替代模块中的事件处理。
—该卡片将自动套用模块中定义的事件处理过程-->
…
—该卡片将使用空操作(noop)来替代模块中定义的事件处理过程,那么就等价于该卡片中没有该事件处理过程—>
…
—该卡片使用同名的事件处理替代模块中提供的事件处理—>
Table元素
♦Table元素是用来创建能容纳文本和图片的表格。
1.align属性是用来指定对齐的方式(”L”是左对齐,”C”是对中,”R”是右对齐。
缺省的对齐方式是从左到右的左对齐方式)。
2.tr元素用来指定表格的行。
3.td元素用来指定表格的列。
图标
♦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:
更多的选择
selectsciencetitle:
selectnoveltitle:
Scro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WML 语言