簡介
Muil的設計與定義吸取了html的許多優點,因此muil在某些方面與傳統的html比較類似,通過編寫html網頁,就可以實現在瀏覽器上瀏覽網頁,與之類似,通過編寫muil頁面,我們就可以輕鬆在支持map的手機客戶端上看到與其相對應的手機界面。因此,在傳統的移動套用中,藉助於map平台以及muil的力量,便可採用類似於編寫網頁的這種B/S的開發方式快速便捷地實現基於C/S結構的移動套用開發。
組成
1.1 MUIL頁面的組成
Muil頁面的組成內容主要由以下幾部分組成:
(1) muil 標籤及屬性
muil標籤封裝了手機端展現所需的數據,描述了手機端展現的形式與內容,以及界面被觸動時所應執行的手機本地或遠程動作。Muil頁面通過muil標籤對手機端的顯示,數據及動作進行定義與控制。
Muil標籤內的屬性定義了其父標籤的特性,muil標籤通過屬性對初始化所顯示的數據及展示的方式和展示效果及觸發動作進行控制。
(2) map 腳本
muil除了界面展示之外,還需在手機本地實現一些動作,比如控制項關聯,自動設值等,因此在muil中需加入一些腳本。現在map的腳本內容已日漸豐富,在map中加入腳本的方式主要有兩種,第一種為在屬性中進行加入,第二種則通過muil可擴展標籤<others>進行加入。
(3) 本地能力定義
與電腦上的瀏覽器相比較,手機的功能要豐富很多,在手機上可以打電話,可以發簡訊,可以拍照等,要實現這些功能,就需在muil頁面中加入本地能力調用的功能。Muil中提供了對本地能力調用的支持,定義與實現起來也非常簡單,只要在一些需要使用本地能力的標籤的url屬性中加入符合muil本地能力調用規範的url地址,便可在手機端輕鬆地實現所需功能了。
特點
1.2 MUIL頁面的特點
(1) 格式規範。是一個xml文檔,須符合xml格式;
(2) 不區分大小寫。 muil頁面在編寫時,標籤名稱與屬性名稱均不區分大小寫;
(3) 屬性預設。一個標籤中,一些非必要添加的屬性可以不加;
(4) 多語言支持。不論MUIL頁面是一個靜態的頁面,還是採用asp,jsp,php等動態網頁技術所編寫的動態頁面,只要其符合muil的標籤與規範,map的客戶端均能得到有效的支持;
(5) 絕對路徑與相對路徑的支持。Muil頁面的url地址即可以對http的絕對路徑提供支持,又可以對http的相對路徑提供支持;
(6) 本地資源與遠程資源的支持。在muil可以使用本地的資源與遠程資源。
規範
1.3 MUIL頁面編寫規範
(1). 對稱閉合
所有控制項標籤必須顯式地閉合,使其符合XML的標準,方便解析。
如下面這個標籤便不符合xml格式,沒有結束:
<label value=”這是一個標籤”>
應該改成:
<label value=”這是一個標籤”/>
或者:
<label value=”這是一個標籤”></label>
對於非嵌套標籤來說,推薦直接關閉的那種寫法,因為其可節省一些流量,解析也方便些。
(2). 唯一標示
大部分標籤均有nameId屬性,在同一個頁面中nameId不能重複。同時,默認情況下nameId是可以預設的,但是在一些特殊情況,nameId不能為空,如表單提交控制項,需驗證的控制項及有相互關聯關係的控制項等。
(3). 位置與大小定位
很多界面性的標籤都有 Location(位置)和 Size(大小)屬性,並且在同一頁面層次級別,不能重複。其值默認可以為空.為空時,則此標籤所代表的控制項位置和大小將由手機端自動計算。
(4). 不支持嵌套文本
不能像html那樣,在標籤與標籤之間直接書寫文本.如需輸出文本請使用<text>標籤或<label>標籤。
(5). 標籤的關鍵屬性不容缺失
Muil中可以不寫相關的一些屬性,但是MAP server一定要將相關位置補上。
(6). 標籤的位置不能隨便放置
如<menuitem>標籤一定位於<menu>標籤下,其不能放置在其它地方。
(7). Muil 頁面中不能出現 xml 特殊字元
以下xml中的特殊字元在編寫muil頁面時,請注意替換為其xml轉義字元形式:
Xml 特殊字元 | 替換後的轉義字元 |
< 小於號 | < |
> 大於號 | > |
& | & |
‘ 單引號 | ' |
“ 雙引號 | " |
如在muil頁面中直接書寫上面這幾種xml的特殊字元時,則解析muil頁面時,xml解析器就會出錯。
如下面幾種情況,則均有誤:
<label value=”這是一個 ”標籤”>
<label value=”這是一個 &標籤”>
應改寫為下面這種形式:
<label value=”這是一個 "標籤”>
<label value=”這是一個 &標籤”>
(8). 關於 xml 中書寫換行符的問題
另外請注意,在muil頁面的文本中,當要輸出換行符時,請不要直接寫\n,因為在頁面中如採用這種形式輸寫,解析時所有的字元都會被當作普通字元,\n就會被當作兩個字元。請採用xml中的ascii碼特殊字元格式:
分類
1.4 MUIL標籤的分類
Muil的標籤按照其功能的不同分為以下幾類:
(1) 頁面控制項標籤
(2) 驗證標籤
(3) 信息提示標籤
(4) 擴展標籤
頁面控制項標籤用於描述手機端的界面,手機端常用的控制項均有與其相對應的頁面控制項標籤。頁面控制項標籤又可分為頁面級控制項,基本控制項,組合控制項,選單控制項等。