新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论WAP/WML, XMPP, Mobile Web Service, Windows Mobile, Symbian, PalmOS, Android, 嵌入式数据库, 无线搜索等移动嵌入式软硬件开发技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - 高级XML应用『 XML 与 移动嵌入式开发 』 → [推荐] WAP开发入门与提高 [连载] 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 102045 个阅读者浏览上一篇主题  刷新本主题   平板显示贴子 浏览下一篇主题
     * 贴子主题: [推荐] WAP开发入门与提高 [连载] 举报  打印  推荐  IE收藏夹 
       本主题类别: 基于XML的移动通信协议    
     enyaxp 帅哥哟,离线,有人找我吗?巨蟹座1984-7-4
      
      
      威望:2
      等级:计算机学士学位(版主)
      文章:350
      积分:2433
      门派:XML.ORG.CN
      注册:2007/12/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给enyaxp发送一个短消息 把enyaxp加入好友 查看enyaxp的个人资料 搜索enyaxp在『 XML 与 移动嵌入式开发 』 的所有贴子 点击这里发送电邮给enyaxp  引用回复这个贴子 回复这个贴子 查看enyaxp的博客楼主
    发贴心情 

    5.3 预编译

    WML Script的预编译主要用于在编译阶段控制编译器的行为。与编译头一般在文件开头和函数声明之前指定,WML Script规定所有的预编译头都是一关键词use加上指定的预编译属性进行指定。

    在大多数的编程中,我们比较长用的预编译行为主要涉及外部文件声明、访问权和Meta信息设置。

    5.3.1 外部文件

    我们知道,使用URL地址可以定位一个WML Script文件。利用该URL地址;在WML Script编程中我们可以通过预编译来调用WML Script的外部文件,外部文件预编译头的声明方法是use url,其语法格式如下:

    use url外部文件名 "URL"地址

    这样,我们在当前文件的编程中就可以使用该预编译头声明的外部文件,从而可以调用该外部文件的函数。其语法格式为:

    外部文件名#函数名(参数列表);

    例如,我们希望在当前的WML Script程序中调用OtherScript外部文件中的check()函数,而且我们知道OtherScript文件的URL地址为http://www.host.com/app/script。因此,我们可以使用use url来声明这一外部文件:

    use url OtherScript"http://www.host.com/script"

    随后,我们就可以在程序中调用OtherScript中的check()函数了:

    function test(par1,par2)

    {

    return OtherScript#check(par1,parr2);

    };

    其中调用执行的过程如下:

    (1)找到WML Script外部文件的URL地址;

    (2)当前函数从指定的URL地址值装载外部文件;

    (3)检测外部文件的内容,并执行其中的check()函数。

    ure url 预编译头指定的外部文件名在当前程序中必须唯一,用户不能指定不同URL地址的同名外部文件,否则在调用外部文件时就会发生混乱。

    另外,use url预编译头中的URL地址也可以是相对URL地址。相对URL的起始位置是当前程序文件所在的位置,并在此基础上根据URL进行定位。

    如果URL地址中的字符包含有转义字符,则WML Script将根据转义要求进行转义。不过,程序在编译的时候编译器并不会对他们进行转义,而是在程序执行时完成,检查URL格式和URL地址的有效性。

    5.3.2 访问权限

    我们可以使用访问权限预编译设保护文件的内容,实现访问控制。WML Script编程中,必须在调用外部函数之前使用访问权限预编译头声明外部文件的访问权限。不过,WML Script访问权限检查的缺省值是不进行检查,即disabled.但访问权限一经声明,以后当调用外部函数的时候,编译器就会检查外部文件的访问权限,以决定调用这是否有权使用该文件及其内含函数。

    访问权限预编译头的声明方法是use access,其语法格式如下:

    use access domain操作域名 path操作路径:

    访问权限预编译头通过指定domain和path属性来决定编译器将要进行什么样的检查工作。如果文件有domain或者path属性,那么文件所在的URL就必须和属性中的值一致。比较时,域和路径都依据URL大写规则进行比较。具体的比较预则如下:

    (1)操作域与URL中的域后缀相匹配。与后缀匹配是值所有的子域从后向前都必须一致。例如:www.wapforum.org和wapforum.org相匹配,而与forum.org并不匹配。

    (2)操作路径和URL中的路径前缀相匹配。路径前缀匹配是值从前向后必须一致。例如:“/X/Y”与“/X”相匹配,而不是和“/XZ”相匹配。

    (3)却省的domain数行为当前的文件域,就是“/”。

    不过,为了简化编程,有时WMLScript并不需要直到外部文件的绝对路径,我们只需提供文件的相对URL即可,用户浏览器执行程序是卡相对路径自动转换为绝对路径,根据路径属性进行匹配。例如:如果访问权限预编译头及其指定属性为:

    use access domain"wapforum.org"path"/finance";

    则可以使用以下的路径来调用指定文件中的外部函数,它们都符合相对URL地址匹配规则:

    http://wapforum.org/finance/money.cgi

    http://www. wapforum.org/finance/money.cgi

    http://www. wapforum.org/finance/demos/packages.cgi?x+123&y+456

    而以下的路径调用则非法的,因为它们或者操作域不对,或者URL地址不能与指定的相对URL相匹配:

    heep//www.test.net/finance

    http//www.qapforum.org/internal/foo.wml

    需要强调指出的是,WML Script规定,同一程序中只能定义一个访问权限与编译头,否则就会导致编译错误。

    5.3.3 Meta 信息

    我们还可以通过与编译头的形式声明WML Script文件的Meta信息。Meta信息主要用于指定文件所需Mete属性的属性名(Property name)、属性值(Content)以及文件的配置(信息),属性都属于字符串类型的数据。Mate信息域编译头使用use meta声明,其语法格式为:

    usr meta 属性 该属性Meta信息:

    Meta的属性主要包括Name、HTTP Equiv和User Agent三种,下面我们分别讲解它们的声明方法:

    (1)Name。该属性用于指定服务器使用的Meta信息。这些信息仅供服务使用,用户浏览器并不理会这些信息。

    例如,以下Name属性的Meta信息指定了服务器的创建时间:

    use meta name "Created""26-June-2000";

    该信息只会作用于服务器,而不会影响用户浏览器的操作。

    (2)HTTP Equiv。该属性用于指定需要解释为HTTP头的Meta信息。对于已经编译的文件来说,当它到达用户浏览器前,WML Script将根据HTTP Equiv属性指定的Meta信息将文件转换为WSP或HTTP的响应头,进行文件的解释和执行。

    例如,以下声明的http equiv属性指定按照脚本语言的关键字来解释当前文件:

    use meta http equiv"Keywords""Script,Language";

    (3)User Agent。该属性用于定义用户浏览器使用的数据类型。例如:

    use meta user agent"Type""Test";

    它指定当前数据必须立即发送给用户浏览器,然后马上清除掉。

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

    I'M BACK, NEVER GO AWAY.

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/2/27 0:45:00
     
     GoogleAdSense巨蟹座1984-7-4
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML 与 移动嵌入式开发 』 的所有贴子 点击这里发送电邮给Google AdSense  访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/2 15:58:49

    本主题贴数29,分页: [1] [2]

     *树形目录 (最近20个回帖) 顶端 
    主题:  [推荐] WAP开发入门与提高 [连载](15192字) - enyaxp,2008年2月23日
        回复:  楼主 赞一个。请问 能否提供一个WORD 版本 供下载? 如果有的话 能否给我发一份:yuanha..(95字) - 柳絮飞,2008年5月5日
            回复:  不好意思,没有WORD版本,我是在别的论坛上找到转过来并重新排了一下版(现在想起那个工作量还是很..(275字) - enyaxp,2008年5月6日
        回复:  不错,好.(10字) - zhoubinbin,2008年4月11日
        回复:  6.5 URL函数库名称:URL说明:这个函数库包含了处理绝对的URL与相对URL的程序,一..(6635字) - enyaxp,2008年2月27日
            回复:  楼主,你好,很激动能找到这么全的WML的资料,不过你能不能推荐点或是发一些关于WAP开发的案例资料..(118字) - xingzhewujiang,2010年8月17日
        回复:  6.4 string函数库名称:字符串说明:这个函数库包含了字符串程序的集合,一个字符串可以..(10412字) - enyaxp,2008年2月27日
            回复:  6.7 Dialog函数库名称:对话说明:这个函数库包含典型的用户界面程序。prompt..(984字) - enyaxp,2008年2月27日
            回复:  6.6 WML浏览器函数库名称:WML Brower说明:这个函数库所包含的程序是让WML ..(2629字) - enyaxp,2008年2月27日
        回复:  6.3 Float函数库名称:Float说明:这个函数库包含了典型与常用的浮点数算术程序。..(2010字) - enyaxp,2008年2月27日
        回复:  [B]第六部分:WML Script标准函数库[/B]这节会讨论标准的WML Script函数..(5857字) - enyaxp,2008年2月27日
        回复:  5.4 执行时的错误检测与处理WML Script函数的功能提供用户服务,并希望用户界面能在任..(6138字) - enyaxp,2008年2月27日
        回复:  5.3 预编译WML Script的预编译主要用于在编译阶段控制编译器的行为。与编译头一般在文..(4545字) - enyaxp,2008年2月27日
        回复:  5.2 函数的声明与调用在WML Script中,函数是一种能够完成某种功能的代码块,并可以在..(6809字) - enyaxp,2008年2月27日
        回复:  不错丫好好瞅瞅我呵呵(24字) - tinyqueen,2008年2月26日
        回复:  [B]第五部分:WML Script脚本程序设计[/B]作为一种编辑语言,WMLScript提..(9936字) - enyaxp,2008年2月23日
        回复:  4.5 操作符与表达式在WMLScript中,表达式可以把变量、常量与操作符结合起来,经过运..(5964字) - enyaxp,2008年2月23日
        回复:  4.3 WMLScript基本规则WMLScript在许多基本规则方面沿用了WML的做法。不过..(10103字) - enyaxp,2008年2月23日
        回复:  [B]第四部分:WML Script语法基础 -- WML Script介绍[/B]WML ..(2660字) - enyaxp,2008年2月23日
        回复:  [B]第三部分:WML主要语法 -- 文本格式化及其元素[/B]3.7 文本格式化及其元素..(1890字) - enyaxp,2008年2月23日

    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    93.750ms