WMLScript的语法基础
WMLScript是WAP应用层基于ECMAScript的脚本语言,专为增强WML客户端编程能力而设计。它支持外部函数调用,通过URL加程序段锚点定位函数,并需进行严格的访问控制检查,以保障移动应用的安全性。
WMLScript,简单来说,是WAP应用层的一部分,专门用来给WML卡片组和卡片添加客户端处理逻辑。目前最新版本是1.1,它基于ECMAScript脚本语言(欧洲计算机制造商协会制定的标准),经过针对性修改和优化,能更好地适配移动电话这类窄带宽通信设备。在WML编程里用上WMLScript,客户端应用的灵活性会大大增强;而且,它也能单独拿出来用,开发功能更强的WAP网络应用和无线网页。这一章,我们会详细拆解WMLScript 1.1编程的基础语法——包括基本规则、变量与数据类型、操作符与表达式等等。为了叙述方便,后面统一把“WMLScript 1.1”简称为WMLScript。
7.1 简单例子:WML程序中调用WMLScript函数
学完前两章,熟悉C语言的读者可能会发现,WML的函数功能、逻辑运算功能其实非常有限。而WMLScript提供了丰富的函数功能,在WAP应用开发中可以用它来增强WML编程。调用WMLScript语句和函数的命令可以直接写在WML
7.3 WMLScript基本规则
WMLScript在许多基本规则上沿用了WML的做法。不过,它是以C语言为蓝本制定的,所以语法特征和C语言非常像。如果你对C语言比较熟悉,这部分内容学起来应该会轻松不少。
7.3.1 WMLScript与URL
和WML一样,WMLScript也沿用了WWW和HTML访问资源的URL、HTTP等规范,并且扩大了URL的使用范围。在WMLScript中,不只是超链接、文件路径及文件名可以当作URL处理,外部函数、访问控制信息等同样可以。
为了解决这个问题,WMLScript采用了WML的变通方法——改进HTML命名资源位置的方式,改用程序段锚点(Fragment Anchor)来处理资源定位。程序段锚点根据文档URL规则定义,书写时在程序段标识符前加井字号(#)。利用程序段锚点,WMLScript程序可以在WMLScript编译单位内定位任意指定的函数,调用时还能同时传递所需参数。
举个例子:WAP手机用户通过浏览器调用外部WMLScript函数时,先写出该函数所在的URL地址,比如 http://www.acme.com/myScripts.scr;然后把函数名及参数作为程序段锚点处理,比如 testFunc('Test%20argument', -8)。最终含有程序段锚点的URL地址就是 http://www.acme.com/myScripts.scr#testFunc('Test%20argument', -8)——注意井字号(#)不能少。
浏览器接到这样的调用请求后,会先执行访问控制检查。如果调用者没有访问权限,调用终止。否则继续执行,把锚点中的函数名与编译程序中的外部函数进行匹配:匹配不上,终止;匹配上了,再进一步判断函数参数的格式、个数、类型、参数值属性等。都符合要求,函数调用成功;否则拒绝调用。
WPS Office是一款面向macOS用户的综合办公套件,将文字处理、电子表格、演示文稿、PDF工具、模板与云协作整合在同一应用中。它兼容常见Microsoft Office格式,支持Intel及Apple芯片Mac,基础功能可免费使用,
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Adobe Photoshop 是面向摄影师、设计师和内容创作者的专业图像处理工具,可在 Windows 上完成照片修饰、选区抠图、图层合成、文字排版、绘画及生成式编辑。软件采用订阅授权,由 Creative Cloud 管理安装、更新与许
Adobe InDesign 是面向印刷与数字出版的专业页面排版工具,可制作书籍、杂志、宣传册、海报、交互式 PDF 和电子书。它提供精细的文字样式、多页面管理、印前检查及多格式输出能力,并能与 Photoshop、Illustrator
Adobe Illustrator 是用于绘制矢量图形、插画、图标、徽标和版式的专业设计工具。它以路径和锚点为核心,作品放大后仍能保持清晰,并提供画板、文字、渐变、图像描摹及精确变换等功能,适合品牌视觉、印刷物料、数字界面和商业插画创作。













