答案: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将不再忽略它们。了如,字符串"oct 28,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.浮点数。浮点数通常定义为含有小数点的数字,可以包含小数和指数部分。浮点数的形式较多,可以使十进制的整数或浮点数,可以是分
上一个:Wbmp格式研究
下一个:如何在PWS(Microsoft Personal Web Server)上建立WAP网站