熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Javascript >> 正文

WML語言的基本情況

2013-11-23 17:54:47  來源: Javascript 

  用於WAP的標記語言就是WML(Wireless Markup Language)  WML的語法跟XML一樣WML是XML的子集  HTMLXML和WML的文件有很多相似之處這樣網頁開發者在過去年中所學的東西今天依然適用 WML頁面文件的後綴是 *WML就象HTML的 *HTML後綴 XML規定定義了一個規范的XML文件的規格任何違反這個規定的WML文件會出錯WML文件通常使用XML解釋器起來解釋 建立網頁制作環境  WML文件本身就是文本文件所以編輯不成問題順手的編輯器都可以用 當然由於目前的浏覽器還都不能顯示WML頁面而我們又不能總在手機上進行測試(速度太慢)所以需要模擬器現在象NOKIAERICSSONMOTOROLA等手機制造商都生產了相應的產品你只要下載就行了當然除了模擬器以外還需要圖形制作轉換器(用來制作WAP格式的圖形文件)字符轉碼器(漢字<=>UNICODE)等等本站工具及論壇頁面均有說明 WML文件結構  WML的頁面通常叫做桌面(DECK)由一組互相鏈接的卡片(CARD)組成當移動電話訪問一個WML頁面的時候頁面的所有CARD都會從WAP服務器下載到設備裡CARD之間的切換由電話內置的計算機處理不需要再到服務器上取信息了CARD裡可以包含文本標記鏈接輸入控制任務(TASK)圖像等等CARD之間可以互相鏈接   文檔的實體包含在標記中文檔裡每個CARD又包含在標記中然後實際的文字段落則包含在

  

  標記中 簡單例子  

  Hello world!  

  顯示結果如下 HELLO Hello World! DECK裡面各個組成部分的具體解釋在本教程的其他部分有說明 WML字符集  WML是XML的子集繼承了XML的字符集設置WML文檔缺省的字符集是UTF 要顯示中文有兩種辦法最簡單的辦法就是在文檔頭使用encoding即把第一行改為   然而令人喪氣的是這種方法有些手機和模擬器並不支持(將來會的)所以目前第種方法更普遍不改變字符集設置但是在寫中文的時候采用UNICODE代表中文字符 通訊錄 代表 通訊錄 WML元素標記(Tag)和屬性  WML的主要內容是文本由於標記會降低與手持設備的通訊速度所以WML標准裡僅僅使用了很少一部分用於表格和圖像的的標記幾乎都被排除了   與XML一樣在WML語言中所有元素都放在符號"<" 和 ">"中並且包含一個開始標志一個結束標志和一個內容標志或者使用自身結束的控制標記就象這樣 內容 例如

  Hello World!

  或 例如
  WML同樣支持在標志中標出屬性屬性是標志的附加信息與元素的內容不一樣它並不在屏幕上顯示出來屬性通常在元素的開始標志後指定如上面最後一個例子   由於WML是XML的一種應用因此所有的WML標記和屬性都是大小寫敏感的(完全不同)而且所有的標記都必須正確地結束WML要求屬性的值必須放在雙引號或單引號內單引號可放在屬性標志內或雙引號內字符亦可作為屬性的值 WML注釋  XML支持這樣的注釋格式 這些注釋在浏覽器中並不顯示出來 WML不支持嵌套元素注釋 鏈接(URL) WML外部引用方式跟HTML相同 或 #login 內部引用如果next是當前DECK中的一個CARD時可以用這種方式 #next 提供鏈接功能的WML元素有(參見任務)和(參見事件) CDATA   XML支持CDATA的概念以顯示不需要解釋的文本下面的例子使用CDATA元素在WML頁面中顯示WML命令文本 ] ]> 浏覽器窗口將顯示如下內容:

  this is data

  有了上面的基礎,相信大家已經能夠做不少事情了。tw.WInGwIT.COM現在我們來深入一下,看看如何提高性能和網絡傳輸效率。首先,需要介紹一下(RFC2616)的基礎知識。當然,如果你已經很熟悉了,可以跳過第一部分。 一、HTTP 1.1的簡要介紹  HTTP 1.1是一個基於文本的互聯網實體信息交互主流協議,這裡的實體可以是WAP兼容浏覽器之類的用戶終端,可以是WAP網關之類的代理服務器,也可以是Java servlet之類的源服務器程序。它們之間的交互信息就是兩大類:客戶端對服務器端的請求(request)和服務器端對客戶端的響應(response)。一次完整的交互包括一個請求和對它的響應。 所有的請求和響應都采用[RFC822]中定義的標准互聯網消息格式,框架如下:  * 消息定義   * 沒有或多個消息頭  * CRLF(空行回車)   * 可選的消息本體   其中消息定義不分指定了發送消息的類型。請求和響應都可以包含多個消息頭,用來進一步或者重新定義用戶終端和服務器之間的交互。CRLF僅僅用來將信息定義和消息本體分開。 1、請求  在消息定義部分可以這樣定義請求: 請求類型 URL HTTP/1.1 其中請求類型可以是下面的一種:   ①. OPTION:返回請求者和相應者之間可以使用的通信選項,主要用來檢測服務器處理能力;  ②. GET:獲得以URL標示的文件內容或者程序執行結果。服務器根據文件名後綴判斷服務內容,比如該URL是靜態文本還是一個程序;  ③. HEAD:除了不返回響應的信息本體以外,得到的是跟GET一樣的信息。一般用來測試鏈接的有效性、可達性和近期修改;  ④. POST:把消息本體中的消息發送到一個URL或者其他類似的服務器端定義行為。通常用來提交一個HTML表單或者一些數據操作活動;   ⑤. PUT:把消息本體中的消息發送到一個URL,跟POST類似,但不常用;  ⑥. DELETE:刪除URL指定的資源;  ⑦. TRACE:調用一個遠程應用層請求消息回路。發出這個消息的用戶終端除了收到原來的消息內容以外,還得到消息在Internet上的傳送路徑。   最常用的請求類型--也是我們在處理WAP應用時最關心的--是GET和POST。假設有一個WML文檔,我們用UP的浏覽器去浏覽的話,就會向服務器發出如下GET請求: GET www.itsalon.com/wap/index.wml HTTP/1.1 accept-charset: UTF-8 accept-language: ch accept: text/vnd.wap.wml, */*, image/bmp, text/html user-agent: UP.Browser/3.1-UPG1 UP.Link/3.2 host: www.itsalon.net …… 其中粗體的部分是HTTP消息頭,這裡我們忽略了一些與我們關系不大的消息頭。 accept-charset: 用戶終端支持的字符集 accept-language: 用戶終端目前使用的語言 accept: 用戶終端可以接受的MIME文件類型 user-agent: 用戶終端供應商提供的終端描述信息 host: 請求信息發送到的域名 2、響應  響應的消息定義部分一般是這樣的:HTTP/1.1 狀態碼狀態描述在[RFC2616]中定義了近40種不同的狀態碼(分成5組)。其中最常見的是3個: 200 OK 401 Unauthorized 404 Not Found 繼續上面那個例子,如果該URL合法的話,服務器的響應會是這樣的: HTTP/1.1 200 OK Server: www/5.0 Date: Fri, 26 Oct 2000 12:15:23 GMT Connection: Keep-Alive Content-Length: 1211 Content_Type: text/vnd.wap.wml Last-Modified: Mon, 22 Oct 2000 18:19:24 GMT

  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.