文章詳情頁
WMLScript的語法基礎
瀏覽:298日期:2022-06-03 17:40:57
WMLScript是屬于無線應用協議WAP應用層的一部分,使用它可以向WML卡片組和卡片中添加客戶端的處理邏輯,目前最新的版本是1.1版。WMLScript 1.1是在歐洲計算機制造商協會制定的ECMAScript腳本語言的基礎上,經過修改和優化而制定的。它能夠更好地支持諸如移動電話類的窄帶寬通信設備,在WML編程中使用WMLScript可以有效地增強客戶端應用的靈活性,而且,我們也以把WMLScript作為一個單獨的工具使用,開發出功能強大的WAP網絡應用和無線網頁。本章我們將詳細講解WMLScript 1.1編程的基礎語法知識,如基本規則、變量與數據類型、操作符與表達式等。為了敘述上的簡便,以后我們將“WMLScript 1.1”簡稱為“WMLScript”。
7.1 簡單例子:WML程序中調用WMLScript函數
經過前兩章的學習,熟悉C語言的讀者可能會認識到,WML的函數功能、邏輯運算功能等都是十分有限的。而WMLScript提供了豐富的函數功能,我們在WAP應用開發中可以使用WMLScript來增強WML編程,調用WMLScript語句和函數的命令可以直接寫在WML
7.3 WMLScript基本規則
WMLScript在許多基本規則方面沿用了WML的做法。不過,由于WMLScript是以C語言為藍本而制定的,所以它的語法特征和C語言非常相像。如果大家對C語言比較熟悉,那么學習和掌握這部分內容應當是比較容易的。
7.3.1 WMLScript與URL
與WML一樣,WMLScript也沿用了WWW和HTML訪問資源的URL、HTTP等規范,并擴大了URL使用的范圍。在WMLScript中,不僅超鏈接、文件路徑及文件名可以作為URL處理,外部函數、訪問控制信息等也可作為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)。注意其中加上了井字號(#)。
瀏覽器接到這樣一個調用后,將首先執行訪問控制檢查。如果調用者沒有訪問權限,則終止該函數的調用。否則,繼續執行調用操作,將錨點中的函數名與編譯程序中的外部函數進行匹配,如果不合適,則終止執行;否則,就進一步對函數參數的格式、個數、類型、參數值屬性等進行判斷,如果符合要求,則函數調用成功,否則拒絕函數調用。
7.1 簡單例子:WML程序中調用WMLScript函數
經過前兩章的學習,熟悉C語言的讀者可能會認識到,WML的函數功能、邏輯運算功能等都是十分有限的。而WMLScript提供了豐富的函數功能,我們在WAP應用開發中可以使用WMLScript來增強WML編程,調用WMLScript語句和函數的命令可以直接寫在WML
7.3 WMLScript基本規則
WMLScript在許多基本規則方面沿用了WML的做法。不過,由于WMLScript是以C語言為藍本而制定的,所以它的語法特征和C語言非常相像。如果大家對C語言比較熟悉,那么學習和掌握這部分內容應當是比較容易的。
7.3.1 WMLScript與URL
與WML一樣,WMLScript也沿用了WWW和HTML訪問資源的URL、HTTP等規范,并擴大了URL使用的范圍。在WMLScript中,不僅超鏈接、文件路徑及文件名可以作為URL處理,外部函數、訪問控制信息等也可作為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)。注意其中加上了井字號(#)。
瀏覽器接到這樣一個調用后,將首先執行訪問控制檢查。如果調用者沒有訪問權限,則終止該函數的調用。否則,繼續執行調用操作,將錨點中的函數名與編譯程序中的外部函數進行匹配,如果不合適,則終止執行;否則,就進一步對函數參數的格式、個數、類型、參數值屬性等進行判斷,如果符合要求,則函數調用成功,否則拒絕函數調用。
標簽:
XML/RSS
相關文章:
排行榜