WML语法大全.docx

上传人:b****1 文档编号:1245798 上传时间:2023-04-30 格式:DOCX 页数:18 大小:25.80KB
下载 相关 举报
WML语法大全.docx_第1页
第1页 / 共18页
WML语法大全.docx_第2页
第2页 / 共18页
WML语法大全.docx_第3页
第3页 / 共18页
WML语法大全.docx_第4页
第4页 / 共18页
WML语法大全.docx_第5页
第5页 / 共18页
WML语法大全.docx_第6页
第6页 / 共18页
WML语法大全.docx_第7页
第7页 / 共18页
WML语法大全.docx_第8页
第8页 / 共18页
WML语法大全.docx_第9页
第9页 / 共18页
WML语法大全.docx_第10页
第10页 / 共18页
WML语法大全.docx_第11页
第11页 / 共18页
WML语法大全.docx_第12页
第12页 / 共18页
WML语法大全.docx_第13页
第13页 / 共18页
WML语法大全.docx_第14页
第14页 / 共18页
WML语法大全.docx_第15页
第15页 / 共18页
WML语法大全.docx_第16页
第16页 / 共18页
WML语法大全.docx_第17页
第17页 / 共18页
WML语法大全.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

WML语法大全.docx

《WML语法大全.docx》由会员分享,可在线阅读,更多相关《WML语法大全.docx(18页珍藏版)》请在冰点文库上搜索。

WML语法大全.docx

WML语法大全

WML语法大全

WML是一种基于XML(扩展标记语言)的一种标记语言。

这种语言是为无线设备用户提供交互界面而设计的。

这些无线设备包括电话、呼机和个人数字助理(PersonalDigitalAssistants)等等。

WML是为具有以下特点的设备而设计的:

体积小(相对于个人计算机)。

有限的内存和CPU大小。

通讯带宽窄和时延长。

现在支持WML的设备大致分为两大类:

电话其特点就是只有4~10行的文本屏幕。

用户通过电话的按钮进行输入。

个人数字助理(PDA)其特点就是能支持100×100分辨率(或者更好)。

用户能够通过键盘、鼠标或者手写输入。

现在正期待着其他的手持设备同样能支持WML。

因为WML支持许多功能不同的设备,因此文档中列出了这些设备至少应有的功能或者是参考设备。

参考设备有以下的特点:

有一个显示屏幕,能显示4行字符,每行12个字符。

包括保留给功能按钮的那一行。

支持ASCII的可打印码。

支持数字和字符的输入。

支持使用箭头或者数字按钮进行选择。

两个可编程功能键,ACCEPT和OPTIONS,并且显示在接近键盘的屏幕下。

一个PREV导航键。

支持垂直滚动的箭头按键。

支持水平滚动(不是使用自动换行)。

--------------------------------------------------------------------------------

字符集 WML使用XML的字符集?

也就是当前使用的通用的字符集ISO/IEC-10646(Unicode2.0)并且支持其他系列的子集(例如:

US-ASCII、ISO-8859-1或者UTF-8)。

不必使用整个Unicode(UCS-4)编码,除非正在使用的不是UTF-8编码。

大小写敏感 不象HTML,WML是一种大小写敏感的语言。

所有的标签、属性和枚举属性都必须使用小写。

在编写WML页面的时候,必须注意到大小写。

包括参数的名字和参数的数值都是大小写敏感的。

例如:

variable1、Variable1和vaRiable1都是不同的参数。

不显示的字符 表3-2中包括了在WML中不显示的字符:

表3-2不显示的字符

字符     8位十进制值

换行     10

回车     13

空格     32

水平制表符  9

除非特别的指定,WML将一个或多个连续的换行、回车、水平制表和空格转换成一个空格。

换句话说,忽略所有的多于一个以上的不显示字符。

例子1:

Sometext

例子2:

     

      

        Sometext 

      

    

 

上面的例子中,手工地使用换行和回车保证程序的可读性,但不是很必要。

文件开场白 所有的WML页面必须在文件的开头处声明XML文件类型:

xmlversion="1.0"?

>

DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.1//EN" "http:

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

为了将这个开场白自动地加入到页面中,读者可以使用函数调用来实现。

注意:

为了确定WAP浏览器的类型和版本,可以通过捕获HTTP头中的USER_AGENT来进行。

  ContentType 为了建立一个有效的WML信息实体(MIMEtype),必须在文件的开场白之前指定文件的类型:

Content-type:

text/vnd.wap.wml

注意:

必须(至少)在ContentType和XML文件声明之前保留一段空行。

如果省略,将造成编译器错误。

过多空行同样会造成错误。

属性 许多WML标记有一个或多个属性标记,有些是必须的,有些是可选择的。

属性可以指定附加的信息,用来确定设备如何解释这些标签。

WML标记有以下两种使用方式:

content

必须使用成对的单引号或者双引号将属性值包含在内,每个属性之间使用空格分开。

引用变量 很像UNIX下的Shell变量,可以在格式化的文本、URL、选择文本等等文本内容中使用变量。

使用变量的语法如下:

$(myvar)。

特殊字符 WML的保留字符:

“<”、“>”、“'”、“"”和“&”。

为了在文本中显示这些字符,必须按照表3-3中规定的方式指定。

表3-3指定特殊字符

字符       指定方式

<          <

>          >

‘          '

"          "

&          &

$          $$

连续空格        

-          ­

分号是字符标签的一个部分,不能省略。

如果省略了,将可能会造成WML编译器错误。

注意:

与HTML不同的是,当在URL中使用&的时候必须使用&来代替字符&。

WML使用XML文档字符集,目前支持Unicode2.0。

与HTML不同,WML的所有标签、属性和规定的枚举值必须小写。

卡片的名字和变量也是区分大小写。

和HTML一样,对于连续的空字符,只显示一个空格。

标签内属性的值必须用双引号或者单引号括起来。

属性名、等号和值之间不能有空格。

对于不成对出现的标签,必须在“>”前加“/”。

比如:


在对变量的引用上和HTML基本相同,有以下三种形式:

$(var1:

esc)

$(var1:

noesc)

$(var1:

unesc)

三种形式,具体含义可参见HTML的相关部分。

在对保留字符的处理上也基本相同,对应的替代字符请详见“字符实体”。

这里要指出的是在URL的传递过程中,用来连接参数的&必须转化为&。

wml文件的一般格式:

xmlversion="1.0"?

>

DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.1//EN" "http:

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

   

       

       

   

   

       Somecontents...

   

结构看上去和HTML文件很类似,对于每一个页面,在其文档开头必须指明以下的类型声明:

xmlversion="1.0"?

>

DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.1//EN""http:

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

千万注意字母的大小写。

对于一个页面,其文件大小最好不要超过1.2K。

标签和HTML中的标签一样,用来表明这是一个WML的页面。

它有一个可选的“xml:

lang”属性来制定文档的语言,比如

lang="zh">表示文档语言为中文。

和HTML一样标签包含了该页面的相关信息。

标签之间可以包含一个标签和多个标签。

相当于HTML中的标签,指定该页面的访问控制信息。

它用两个可选的属性,domain用来指定域,默认值为当前域;path用来指定路径,默认值为“/”,即根目录。

由于单独使用,所以要用“/”结尾,以后对于类似的情况不再赘述。

和HTML中的类似,提供了该页面的meta信息。

属性是必选的,包括以下三种情况:

 name="name"UP.LinkServer忽略meta数据。

 http-equiv="name"UP.LinkServer将meta数据转为HTTP响应头(同HTML)。

 user-agent="agent"UP.LinkServer直接将meta数据传给手机设备。

content属性也是必选的,其内容根据属性而定。

scheme属性目前尚不支持。

forua为可选属性,指定在该wml文件传到客户端之前,标签是不是被中间代理删除(因为传输的协议可能改变),默认值为false。

目前支持的meta数据:

指定页面在手机内存缓存中的存储时间段,默认的为30天(除非内存耗尽)。

在此期间,手机对于访问过的页面直接从缓存里调用。

如果信息是对时间敏感的,可以用max-age指定页面在缓存里的生存期,最小单位是秒。

如果指定为0,则每次都需通过连接服务器来调用该页面

类似于普通浏览器的书签功能。

当用户将一个卡片做了书签后,手机浏览器首先用一个标记记录该卡片。

这个标记默认的是标签中的title属性(以后会讲到)。

然后当用户选择了该书签以后,浏览器就会打开被记录的URL。

但是因为在默认的情况下,手机会记录所有的页面。

所以,一般被用来使手机不要记录当前的URL,即

此外,如果要为书签指定不同于当前页面的URL,用

一个页面可以包含多个卡片,每个卡片的内容可能不止一屏显示,注意页面、卡片和屏幕显示范围的关系。

一个卡片用包含。

可以包含以下可选的属性:

 id属性用来指定卡片的名字,可用来在卡片间跳转,相当于在HTML中在页内跳转时用

 title属性用来作为书签的标记,该属性一般不会显示在屏幕上。

 newcontext属性(默认值为false)用来指示当跳转到本卡片时,手机是不是要清除以前保留的信息。

包括变量、堆栈里的历史记录、重新设置手机状态等。

 ordered属性(默认值是true)表明该卡片里的内容是按固定的顺序显示,还是按用户的选择顺序来显示。

这点和HTML不同,卡片里的内容可以按一定的顺序显示。

默认的是按线性顺序显示,即按代码的顺序。

但是,要注意的是,以下三个标签必须按以下顺序来写:

(这和以后要讲的“事件”有关)。

这样做是为了方便填表单,当ordered设置为true时,如果一个表单的内容不能在一屏里显示完,就分成多屏显示;当ordered设置为false时,手机可以显示一个概要卡片来总结有效的选项,用户可以从中选取表单选项来填写。

 onXXXX属性,类似于HTML标签中的onXXXX属性,用来捕捉事件。

当事件被触发时执行指定的操作(任务),在这里是转向某个URL。

在文本的显示上WML基本和HTML相同。

文字段落包含在

之间。

align属性指定该段文字的对齐方式,默认的是left。

其他可选择right和center;mode属性指定当一行显示不下所有的文字时是否自动换行。

默认的是自动换行wrap。

如果选nowrap,则在一行中显示,浏览器会通过类似于水平滚动条的机制来显示所有文字。

换行标签也一样为

这里先提一下,在表单中如果有多个或者以及选单,选单