WML Script是属于无限应用协议WAP应用层的一部分,使用它可以向WML卡片组和卡片中添加客户端的处理逻辑,目前最新的版本是1.1版。WML Script1.1是在欧洲计算机制造商协议会制定的ECMAScript脚本语言的基础上,经过修改和优化而指定的。它能够更好的支持诸如移动电话类的乍带宽通信设备,在WML编程中使用WML Script可以有效的增强客户端应用的灵活性,而且,我们也可以把WML Script作为一个工具使用,开发出功能强大的WAP网络应用和无限网页。本章我们将详细讲解WML Script1.1编程的基础预法制时,如基本规则、变量预数据类型、操作赋予表达式等。为了叙述上的简便,以后我们将“WML Script1.1”简称“WMLScript ”。
4.1 WML 程序中调用WML Script函数
经过前两章的学习,熟悉C语言的读者可能会认识到,WML 的函数功能、逻辑运算功能等都是十分有限的。而WMLScript提供了丰富的函数功能,我们在WAP应用开发可以使用WMLScript来增强WML编程。因此,WMLScript成为扩展WML编程能力的主要开发工具。
4.2 WMLScript的主要优点及其字节码解释器
WMLScript具有一套定义好的字节码和一个解释器参考结构。无线网络传输中WMLScript的数据均以二进制格式进行传输,所以,用户可以使用乍带宽通信信道,从而能够保持客户端手机只需要最小限度的内存。ECMAScript修改后得到的WMLScript能够更快、更小、更容易的编译程序为字节码形式。所有这些特点,是WMLScript具备了WML所不能具备的很多优点和功能。
4.2.1 使用WMLScript的主要优点
WMLScript的设计宗旨是为WMLScript系统提供一般的脚本处理能力,使用WMLScript我们可以进一步补充基于XML的WML语言的编程功能,开发针对乍带宽的网络应用及内容,如文本、图像、选择列表等,我们可以使用简单的格式编写出更灵活和更具可读性的用户界面。WMLScript具备的WML所不能具备的优点和功能,主要包括如下几个方面: (1)检查用户输入的合法性:
(2)扩展用户浏览器的功能,比如允许程序员开发手机的电话呼叫、发送短信息、存储电话号码、管理电话簿或SIM卡等;
(3)生成用户端的确认、提示、警告信息或操作对话框,并使之快速显示在浏览器上;
(4)在用户浏览器的更改后,能够对浏览器端的软件和参数进行扩展与配置;
(5)最大程度克服客户端的乍带宽通信连接限制,并提供丰富的程序功能;
(6)补充WML并使之实现针对微型移动终端设备的多种服务,如支持高级用户界面、增加客户端智能型、提供用户浏览器外围功能的访问能力,以及在服务器与客户端浏览传输数据是减少带宽占用等。
4.2.2 WMLScript的字节码解释器
在WMLScript的字节码解释器解释之前,WMLScript语言编写的文本格式的程序将被首先编译为二进制格式的代码。编译时,编译器通常先将WMLScript程序分成若干个编辑单位,每个单位的程序都包含一定数量的语句行和WMLScript函数,然后,WMLScript的编译器将按照这些编译单位,逐一将WMLScript程序作为输入内容,而把对应的字节码作为输出内容。当用户通过WAP手机调用WMLScript程序时,编译器的编码功能即被激活、执行。
4.3 WMLScript基本规则
WMLScript在许多基本规则方面沿用了WML的做法。不过,由于WMLScript是以C语言为蓝本而指定的,所以它的语法特征和C语言非常相像。如果大家对C语言比较熟悉,那么学习和掌握这部分内容应当是比较容易的。
4.3.1 WMLScript与URL
与WML一样,WMLScript也沿用了WWW和HTML访问资源的URL、HTTP等规范,并扩大了URL使用的范围。在WMLScript中,不仅超链接、文件路径即文件名可以作为URL处理,外部函数、访问控制信息等也可以作为URL处理。
为此,WMLScript采用了WML的变通方法,即改进HTML命名资源为值的方式,采用程序段锚点(Fragment Anchor)的形式来处理资源定位。程序段锚点根据文档URL规则进行定义,并按照程序段标识符前加井字号(#)的方式书写。使用程序段锚点,WMLScript程序可以在WMLScript编译单位内可任意指定的函数,并可在调用该函数的同时传递所需的参数。
4.3.2 词法结构
WMLScript编程中的词法结构并不复杂,我们下面就从大小写敏感、空格、换行、注释即保留字等方面讲解相关的具体规则。
(1)内容类型。WMLScript的内容类型主要针对文件形式和二进制形式两种情况,类型结构可以在服务器端进行指定,具体形式为:
文本形式:text/vnd.wap.wmlscript;
二进制形式:application/vnd.wap.wmlscriptc。
具体指定方法我们在第4章已经介绍过,这里不再重述。
(2)大小写敏感。WMLScript1.1是一种大小写敏感的脚本语言。它所设计的各种关键字、变量和函数名都必须合理的使用大小写。
(3)空格和换行。一般情况下,WMLScript程序值形式将忽略所有的空格、制表符合换行符等。但如果把这些特殊字符通过代码进行表述,或者作为字符串进行处理时,WMLScript将不再忽略它们。了如,字符串"Oct28,2001"中含有空格,该空格在执行时就不会被忽略,它与不含空格的字符串"Oct28,2001"是不同的。
(4)注释。与WML编程一样,在WMLScript脚本程序中也可以加入注释内容。注释内容不被程序执行,且注释不能嵌套。WMLScript的注释方法有两种:
其一,行注释。即使用双斜行号(//)引导以一行内容,这一行内容全部作为注释内容。如:
//这是以行注释,由双斜杠号开始到结束都是注释。
其二,块选择。即以符号“/*”开始,而以符号“/*”结束的期间所有内容都是注释内容。如:
/*这就是块注释,加在中间的内容就是注释内容*/
(5)数据类型与直接编码。WMLScript允许将4种类型的数据直接编码并可嵌套并可嵌如在程序之中。直接编码的4中数据类型为:整数、浮点数、字符串和布尔值。另外,“无效性”值也可直接编码” 1. 整数。当以十进制、十六进制或八进制方式使用整数时,可对这类整数进行直接编码。
编程序时,十进制的数字均不以0开头,只包含0~9的数值串;十六进制的数据以OX或者Ox开头,只包含0~9、a~f或者A~F的字符串;八进制的数均以0开头,只包含0~7的数字串。
2.浮点数。浮点数通常定义为含有小数点的数字,可以包含小数和指数部分。浮点数的形式较多,可以使十进制的整数或浮点数,可以是分数,也可以是指数;但一个浮点数必须至少有一个数。
指数是以e或E开头,后面跟着一个整数。指数是以10为底幂。例如:e0时10的零次幂,例如:e0时10的另次幂,e-2时10的负2次幂集等于0.01。指数可以带符号,正好( )或者减号(-),它们分别代表是正指数和负指数。
3.字符串。字符串是指定义在成对的双引号("")或单引号(‘ ’)之间的内容。
由于WMLScript只允许使用成对的双引号或但引号来定义字符串,所以程序中使用一个单引号或一个双引号时就会出现编译错误。
考虑到有些特殊字符不能在字符串中直接显现出来,所以WMLScript提供了转译序列来表示这些特殊字符。
4.布尔型。它只是ture和false两个数值,用于表示WMLScript中的“真值”或“假值”。布尔型数据可参与异、或等运算,具体规则我们后面介绍。
5.无效型。也称为“空类型”,它是WMLScript支持的一个表示无效值的量,以invalid表示。
该两与C语言中的NULL类似。
4.保留字。WMLScript中定义有一个保留字集合,含有一些表示特殊意义的单词这些次不能另外定义,也不能最为其他标识符。WMLScript中的保留字如下:
acces http agent if break isvalid continue meta header
div name div= path domain return else typeof while
equiv url extern use for user function var
另外,WMLScript还为将来的版本预留了一些保留字,主要有:
case finally catch import class private const public debugger
sizeof default struct do super enum switch export throw
extends try
WMLScript还有一些没有使用的保留字:
delete null in this lib void new with
7.标识符。WMLScript的标识符可以指定或命名3种元素:变量、函数和标注。标识符不能以数字开头,但能一段下划线(-)开头,而且,标识符不能是WMLScript的保留字。例如,timeOfDay、speed 、quality、HOME_ADDRESS、_myName、__、varO等都是合法的标识符;而以数字或非短下划线的特殊符号开头的字串,以及保留字等都属于不合法的标志赋,如while、for、if、my~name、$sys、123、3piecs、take.this等。
由于WMLScript是严格区分大小写的,所以字母相同但大小写不同的标识符不是同一个标识,例如,Work和work就是不同的标识符。
8.名称空间。WMLScript提供了比较自由的名称空间,同一标识符可以同时用作不同的目的。例如,作为某一函数名称的标识符,还可以同时用作变量名、函数参数、程序标注等,使用时他们的属性或值等并不相互影响。在下面的简单的例程中,myTest这一标识符即用作了函数名,又用作了变量名、函数参数名、函数参数名、常量名。显然,WMLScript的这一特定为我们编写程序提供了很大的方便。
4.3.3 WMLScript程序的基本书写规则
WMLScript程序的基本书本写规则:
1.程序由若干语句或函数组成,函数有由若干语句组成;
2.每个完整的语句后面必须加上分号(;),语句关键词语操作数之间必须有空间;分号(;)是WMLScript程序的组成部分;
3.函数体之间必须使用成对的花括号({ })括起来,而且函数结束时在右花括号(})的后面还要加上分号(;);函数说明部分,如函数名、函数类型、函数参数等要放在花括号({})的前面;
4.有些语句可能也需要实用花括号({ })办含内容,这类语句通常
分享到:
相关推荐
在“wmlscript.rar_WMLScript”这个压缩包中,包含了一个名为“wmlscript.txt”的文件,我们可以推断这可能是一份关于WMLScript的文档或者教程。下面将详细介绍WMLScript及其相关知识点: 1. **WMLScript基本语法**...
<script type="text/wmlscript"> changeTitle() { this.parent.set('title', '标题已改变'); } </script> </wml> ``` 在这个例子中,当用户点击文本时,`onclick`事件触发`changeTitle`函数,该函数会...
还不错的一本WAP教程,PDF格式 ...第 7章 WMLScript 语法基础 第 8章 WMLScript 脚本程序设计 第 9章 WMLScript 库及库函数 第 10章 HDML编程 第 11章 WAP 编程与开发的高级技术 第 12章 WAP 安全与实现.
在本全面详细的WAP教程中,我们将深入探讨无线应用协议(WAP)的各个方面,包括其原理、编码、设计以及相关的编程语言WML(Wireless Markup Language)和WMLScript。WAP是一种允许移动设备通过无线网络访问互联网...
然而,WMLScript的普及程度远不及JavaScript,因为它的语法和功能相对有限,且不是所有WAP浏览器都支持。 **WAP开发:早期移动互联网的挑战与机遇** 在WAP 1.0时代,开发者面临的主要挑战包括: 1. **设备兼容性*...
2. **脚本支持(Scripting Support)**: 虽然WML本身不支持JavaScript,但可以通过WMLScript实现类似的功能,用于增强动态交互。 ### 四、WML与WAP协议 WML是WAP(Wireless Application Protocol)的一部分,WAP是...
2. WMLScript详解:讲解WMLScript语法、变量、函数、控制结构和事件处理。 3. WAP协议原理:解释WAP协议的工作流程、数据传输方式和协议栈结构。 4. C#与WAP:阐述如何使用C#编写WAP服务,处理WML请求和响应。 5. ...
2. **WMLScript语法**:WMLScript的语法与JavaScript类似,但并非完全兼容。例如,变量声明使用`var`关键字,赋值使用`=`,条件语句包括`if...then...else`,循环有`while`和`for`等。 3. **WMLScript函数**:可以...
**WAP建站基础教程——WAP初学者必读** WAP(Wireless Application Protocol,无线应用协议)是一种为移动设备提供互联网接入的技术标准。它允许用户通过移动电话或者其他无线设备访问网页、发送电子邮件、获取新闻...
- **特点**: WMLScript语法简单,易于学习,但功能有限,主要用于简单的交互逻辑。 #### 三、WAP工具包概述 - **发展阶段**: 当前WAP技术仍处于初步发展阶段,但在全球范围内引发了广泛的关注。 - **地区分布**: ...
2. **WAP应用协议层**:主要包括WMLScript和WML,负责处理用户界面和业务逻辑。 3. **WAP传输层**:WAP支持多种传输协议,如WTP(WAP Tunneling Protocol)和WSP(WAP Session Protocol),它们负责数据包的传输。 4...
**WML基础知识教程——WAP开发** WML(Wireless Markup Language)是为无线设备,如早期的手机和平板电脑,设计的一种标记语言,用于创建适应小型屏幕和有限功能的移动浏览器的网页。WML是WAP(Wireless ...
WMLScript是为无线应用协议(WAP)设备设计的一种脚本语言,类似于JavaScript,但主要用于移动设备上的网页开发。然而,随着移动设备技术的发展,WMLScript的使用已不如以前普遍,现在更多地被JavaScript所取代。 ...
**WAP建站基础教程——WAP(WML)开发详解** WAP(Wireless Application Protocol,无线应用协议)是一种在移动设备上访问互联网的技术,主要用于简化版网页浏览,尤其适用于早期功能手机。WML(Wireless Markup ...
### WAP教程知识点详解 #### 一、WAP Server的构建 ##### 1.1 WAP Server配置概览 WAP (Wireless Application Protocol) 是一套全球性的网络通信协议标准,用于移动终端设备访问互联网资源。它允许用户通过手机、...
这通常通过WMLScript或者CGI编程实现,使得WML应用具有更强的交互性。 6. **显示表单** 表单在WML中用于收集用户输入。 `<form>`元素定义了一个表单,其中包含各种输入元素,如文本字段、选择框等。提交表单后,...
【WAP编程完全版】教程主要涵盖了WAP服务器配置、WML语言基础、WML编程以及WML Script语法基础等内容,旨在帮助开发者构建WAP应用。以下是对这些知识点的详细说明: 1. **WAP Server配置**:WAP服务器实际上是Web...
WAP是一个框架,包含了多种技术,如WML、WMLScript(类似于JavaScript的脚本语言)和WAP协议栈,用于处理无线网络的数据传输。WML是WAP的一个核心部分,负责内容的呈现。通过WAP浏览器,用户可以访问使用WML编写的...
WAP编程涉及对WML的理解和应用,还包括服务器端的WAP网关交互、数据传输格式(如WMLScript或JavaScript的子集)和用户交互设计。通过WAP编程,开发者可以创建功能丰富的移动应用程序,如信息浏览、在线购物、游戏等...