亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

無線標記語言(WML)基礎之基本知識

2019-11-18 16:11:17
字體:
來源:轉載
供稿:網友

本文介紹WML語言的基本知識,主要包括WML的字符集、變量、數據類型及WML程序的基本組成部分等。

  1、WML的字符集及編碼

  WML使用xml的字符集,即通用字符集ISO/IEC-1062.,也即統一字符編碼標準Unicode 2.0。同時,WML還支持其他系列的字符集子集,例如UTF-8、ISO-8859-1或UCS-2等。其中:UTF-8是指通用字符集UCS(Universal Character Set)的轉換格式8(Transformation Format 8),主要傳輸國際字符集的轉換編碼。UTF-8采用了UCS字符的8位編碼,提供了十分安全的編碼格式,可以有效避免數據傳輸過程中的竊聽、截取及非法解密。同時,UTF-8與7位ACSII碼完全兼容,不會影響此類編碼實現的程序;它的編碼規則十分嚴格,能夠有效避免同步傳輸錯誤,而且還會支持其它字符集提供了足夠的空間。

  ISO-8859-1字符集是國際標準化組織ISO(International Standardization Organization)制定的ACSII字符集的擴展集,能夠表示所有西歐語言的字符。與ISO Latin-1一樣,ISO-8859-1與Windows環境中普遍使用的美國國家標準協會ANSI(American National Standards Institute)的字符集極為類似,絕大多數情況下無需區分。在不特別指明的情況下,HTTP協議均使用ISOLatin-1字符集。因此,為了WML頁面中表示非ACSII(non-ACSII)字符,開發人員需要使用相應的ISO Latin-1編碼的字符。

  UCS-2是ISO 1062.標準中自定義的通用多8位編碼字符集(Universal Multiple-Octer Coded Character Set)的2字節(即16位)編碼標準,其字符編碼值與Unicode字符的標準編碼值相等。

  WML文檔可以采用Html 2.0規范所定義的任何字符編碼標準經編碼處理。一般說來,WML文檔的字符編碼是需要轉換為另外的編碼格式,以與WAP用戶的手機瀏覽器所用字符標準相適應,否則,手機瀏覽器就無法顯示WML頁面中的字符。然而,編碼轉換時可能會丟失一些字符信息,所以,如果在用戶端進行WML文檔的編碼轉換,那么就可能導致某些結果信息丟失而不能被用戶所瀏覽。因此,如有必要,我們應當盡量在WML頁面傳送到用戶瀏覽器之前完成編碼轉換。

  為了解決這一問題,一方面,我們需要為Web服務器補充定義WML的數據類型,以讓服務器可以準確傳輸這些數據,另一方面,我們需要制訂編碼轉換的原則。

  2、WML字符使用基本規則

  WML是一種比較嚴格的語言,字符使用必須遵守相應的規則,這些基本規則主要包括以下幾個方面:

  1)大小寫敏感。在WML中,無論是標簽元素還是屬性內容都是大小寫敏感的,這一點繼承了XML的嚴格特性,任何大小寫錯誤都可能導致訪問錯誤。

  一般來說,WML的所有標簽,屬性,規定和枚舉及它們的可接受值必須小寫,Card的名字和變量可大寫和小寫,但它是區分大小寫的。包括參數的名字和參數的數值都是大小寫敏感的,例如variable1、Variable1和vaRiable1都是不同的參數。 2)空格。對于連續的空字符,程序運行時只需要一個空格。屬性名、符號(=)和值之間不能有空格。

  3)標簽。標簽內屬性的值必須使用雙引號(")或單引號(’)括起來。對于不成對出現的標簽,必須在大于號(>)前加上順斜杠(/),比如換行標簽必須寫成<br/>才正確。

  4)不顯示的內容。在WML中,不顯示的字符主要包括換行符、回車符、空格和水平制表符,它們的8位十六進制內碼分別為10、13、32及9。

  程序執行時,WML將忽視所有的多于一個以上的不顯示字符,即WML會把一個或多個連續的換行、回車、水平制表符及空格轉換成一個空個。

  5)保留字符。這是WML的一些特殊字符,如小于號(<)、大于號(>)、單引號“’”、雙引號“"”、和號(&)。

  6)顯示漢字。如果希望WML程序執行時能夠顯示漢字,則只需要程序開頭使用encoding指定漢字字符集即可。例如:<?xml version="1.0" encoding="gb2312">。

  注意:指定漢字字符集的形式和方法可能因為開發工具或WAP手機的不同而不同。

  3、變量

  WML編程中可以使用變量,變量使用前必須進行定義。變量一旦在Deck中的某一個Card上定義過,其他Card則可以不必重新定義就能直接調用該變量。

  定義變量的語法格式為:

$identifier
$(identifier)
$(identifier:conversion)

  其中identifier指變量名,或說變量標示符;conversion指變量的替代。

  變量名是由US-ACSII碼、下劃線和數字組成的,并且只能以US-ACSII碼開頭。變量名嚴格區分大小寫,也即,變量名是大小寫敏感的。

  定義變量的語法在WML中享有最高的解釋優先級。

  有關變量的使用說明如下:

  1)在WML中,變量可以在字符串中使用,并且在運行中可以更新變量的值。

  2)當變量等同于空字符串時,變量將處于未設置狀態,也就是空(Null)。


  3)當變量不等同于空字符串時,變量將處于設置狀態,也就是非空(Not Null)狀態。

  4)在“$identifier”形式下,WML通常以變量名后面的一個空格表示該變量名的結束。如果在某些情況下空格無法表示一個變量名的結束,或者變量名中包含有空格,則必須使用括號將變量名括起來,即采用“$(identifier)”的形式。

  WML程序中的變量是可以替代的,我們可以把變量的數值賦給Card中的某一文本。有關變量替代說明如下:

  1)在WML程序中,只有文本部分才可以實現替代。

  2)替代一般在運行期發生,而且替代不會影響變量現在的值。

  3)任何標簽是按照字符串替代的方式實現的。

  4)替代是按照字符串替代的方式實現的。

  由于變量在語法中有最好的優先級,包含變量聲明字符的字符串將被當作變量對待,所以如果要使程序顯示“$”符號,則需要連續使用兩個“$”進行說明。例如:<p> Your acconut has $$15.00 in it </p>一句顯示的結果為:Your account has $15.00 in it。
 2、WML核心數據類型

  WML的核心數據類型均屬于字符型數據,是根據XML的數據類型定義的,共有下述2.擲嘈停?1)CDATA型。這種數據類型是WML用得最多的一種,可以是數字、字符串或包含數字的字符串。不過定義時,不論是數字或字符串,都必須以文本的形式定義,及數據用引號引起來。CDATA型的數據僅用于屬性值。例如"$(value)"或name="value"等。注意,這里的value指CDATA型的數據值。

  2)PCDATA型。這是從CDATA中分解出來的一類數據,除了可以是文本形式的數字、字符串或兩者的混合串外,還可以是WML的標簽。PCDATA型的數據只能用于WML的元素表示。

  3)NMTOKEN型。這是一類特殊的數據,凡是包含或部分包含數字、字母及標點符號的數據均屬于NMTOKEN型數據。這種數據可以用標點符號開頭,但不用于定義變量名或元素名。

  4)id型。專門用于定義WML元素名稱的數據類型。

  在這2.擲嘈橢校珻DATA型用起來比較靈活,它可以使變量或數據免于語法檢查。這是因為,CDATA內的數據內容都會被當作文本來處理,從而可以避免WML的語法檢查,直接作為文本顯示出來。

  5、WML數據值性質

  除了NMTOKEN型數據外,WML其他3種數據都必須以文本形式即加上引號進行定義。我們關心的問題是,這些類型的數據可以表示哪些數據值呢?或者說,它們所表示的數據值的性質是什么呢? 事實上,WML數據只在性質上可以是長度(Length)、宏變量(Vdata)、流(Flow)、內行(Inline)、布局(Layout)、文本(Text)、超鏈(Href)、布爾值(Boolean)、數據(Number)或增強方式(Emphasis)。

  6、卡片與卡片組

  前面我們分析了WML程序的結構時,曾將講到WML文檔的信息是通過卡片集和卡片組集的形式進行組織的。一個Deck是一個或多個Card的集合。當客戶終端發出請求之后,WML即從網絡上把Deck發送到客戶的瀏覽器,Deck是服務器發送信息的最小單位。用戶瀏覽器收到Deck后,可以瀏覽其中包含的所有Card。Card用于表示或描述一個或多個用戶交互單位。

  7、卡片組模板

  同一卡片組通常會含有許多卡片,這些卡片的定義、屬性或格式通常都大同小異。如果我們逐一定義各個卡片,顯然是十分麻煩的。為此,WML提供了卡片組模板的功能,模板內定義了一系列標準和參數,可以應用到同一卡片組的所有卡片中去,從而能夠大大地提高我們的編程效率。有關卡片組模板的內容我們后面會專門介紹的。

  8、WML與URL、程序段錨點

  我們知道,環球網WWW是各種信息和設備的網絡,為保證全球范圍內的交互,人們制定了3種規范:其一,統一資源定位器URL提供所有網絡資源的標準命名方式和定位方式;其二,標準協議,如HTTP協議等,提供WWW資源的傳輸方式;其三。標準內容類型,如HTML、WML,提供WWW資源的內容形式及標準。WML沿用了這些規范,并擴大了URL使用的范圍。在WML中,不僅超連接、文件路徑及文件名可以作為URL處理,卡片名、宏變量名及各種內部資源名等也可作為URL處理。

  為此,WML改進了HTML命名資源位置的方式,采用程序錨點(Fragment Anchor)的形式來處理WML程序中某段程序的地位。程序段錨點根據文檔WML規則進行定義,并按照程序段表示符前加井字好(#)的方式書寫。使用程序段錨點,WML程序可以在同一卡片組中定位不同的卡片。如果在程序中不指定程序段,那么程序中引用的URL名稱則指整個卡片組,而且卡片組的名稱同時也是本卡片組內的第一個卡片的名稱。

  9、瀏覽器操作歷史

  為了在瀏覽器端管理WML程序的執行,WML使用“瀏覽器前后關系”的功能保存WML程序執行的狀態及各種參數、變量等,這樣可以用來記錄用戶的操作情況。同時,WML還提供了一個簡單的導航歷史模型,以URL地址的形式記錄了用戶瀏覽時的各種操作,并把這些URL地址放入歷史推棧。通過推棧,用戶即可實現歷史瀏覽的回潮及其它操作。

(出處:http://www.49028c.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91天堂在线观看| 日韩视频免费观看| 亚洲精品98久久久久久中文字幕| 精品无人区乱码1区2区3区在线| 亚洲毛片在线看| 亚洲欧美国产视频| 91久久国产婷婷一区二区| 26uuu亚洲国产精品| 色樱桃影院亚洲精品影院| 萌白酱国产一区二区| 亚洲国产成人精品久久| 在线观看中文字幕亚洲| 精品调教chinesegay| 成人av在线亚洲| 九九热这里只有在线精品视| 91国产精品91| 国产精品福利在线观看| 国产精品久久久久久久久久久久久久| 国产精品中文在线| 成人免费看吃奶视频网站| 爱福利视频一区| 欧美性xxxx极品hd满灌| 久久亚洲电影天堂| 欧美日韩国产综合视频在线观看中文| 精品亚洲一区二区三区四区五区| 久久久久久国产精品| 在线电影中文日韩| 浅井舞香一区二区| 日韩电视剧在线观看免费网站| 国产精品久久久久久久午夜| 色狠狠av一区二区三区香蕉蜜桃| 福利一区福利二区微拍刺激| 欧美色播在线播放| 亚洲人成毛片在线播放| 国产午夜精品一区二区三区| 日韩中文综合网| 国内精品久久久| 色播久久人人爽人人爽人人片视av| 亚洲人成网站999久久久综合| 国内精品伊人久久| 国产一区二区三区在线| 国产精品主播视频| 国产在线日韩在线| 欧美最猛性xxxxx免费| 欧美另类老肥妇| 欧美成人自拍视频| 日韩免费精品视频| 日韩欧美成人网| 日日噜噜噜夜夜爽亚洲精品| 中文字幕日韩高清| xxx欧美精品| 亚洲人成电影在线播放| 国产精品自产拍在线观看| 精品中文字幕在线| 精品久久久在线观看| 日韩成人在线视频| 97香蕉久久夜色精品国产| 亚洲国产天堂久久综合网| 亚洲欧美日韩第一区| 国产亚洲精品一区二555| 国产精品极品在线| 日韩网站免费观看高清| 国产精品中文字幕在线| 精品国内产的精品视频在线观看| 亚洲综合大片69999| 成人av电影天堂| 911国产网站尤物在线观看| 日韩av不卡电影| 91高清免费视频| 国产精品视频区| 国产精品入口夜色视频大尺度| 欧美一区二区.| 精品国产欧美一区二区五十路| 日韩精品免费在线观看| 国产97色在线| 日韩欧美aⅴ综合网站发布| 久久久久久久久久久免费| 久久成人人人人精品欧| 久久久精品视频在线观看| 久久久久久久91| 国语自产精品视频在线看| 免费成人高清视频| 中文字幕欧美国内| 久久全国免费视频| 日韩电影中文字幕| 久久久久国产精品免费网站| 国产精品一区二区三区毛片淫片| 国产一区二区三区视频在线观看| 国产91精品不卡视频| 国产精品久久久久久亚洲影视| 亚洲国产精品va在线观看黑人| 精品久久久久久亚洲精品| 91夜夜未满十八勿入爽爽影院| 国产精品成人国产乱一区| 久久夜色精品亚洲噜噜国产mv| 久久综合久久美利坚合众国| 亚州欧美日韩中文视频| 永久免费看mv网站入口亚洲| 欧美性猛交xxxxx免费看| 亚洲乱码国产乱码精品精| 欧美性20hd另类| 亚洲国产第一页| 久热精品视频在线观看一区| 日韩欧美在线视频观看| 亚洲午夜国产成人av电影男同| 91精品久久久久久| 欧美日韩另类在线| 亚洲第一在线视频| 精品动漫一区二区三区| 欧美成人精品一区| 91极品视频在线| 亚洲国产精品va在看黑人| 欧美成人亚洲成人日韩成人| 91人成网站www| 91久久精品久久国产性色也91| www.久久久久| 久久久99久久精品女同性| 亚洲新声在线观看| 日韩欧美国产黄色| 国内久久久精品| 国产精品高清在线| 国产精品第一视频| 美女啪啪无遮挡免费久久网站| 亚洲第一在线视频| 51色欧美片视频在线观看| 久久久视频在线| 久久99精品久久久久久琪琪| 久久人人97超碰精品888| 久久夜精品香蕉| 91精品久久久久久久| 97人洗澡人人免费公开视频碰碰碰| 热久久这里只有| 欧美激情亚洲国产| 亚洲欧美国内爽妇网| 国产成人精品在线| 国产精品美女www爽爽爽视频| 国产免费观看久久黄| 成人国产精品一区| 97福利一区二区| 亚洲欧美国产高清va在线播| 亚洲成色999久久网站| 国产欧美日韩亚洲精品| 2019亚洲日韩新视频| 国产成人在线精品| 91久久精品国产| 欧美剧在线观看| 91午夜在线播放| 国产精品久久在线观看| 在线视频欧美性高潮| 国产福利视频一区二区| 国产成人精品视频| 91精品国产成人| 色中色综合影院手机版在线观看| 欧美国产视频日韩| 中文字幕欧美日韩在线| 久久综合五月天| 国产精品日韩专区| 97久久精品国产| 91精品国产色综合久久不卡98| 亚洲国产精品va在线看黑人动漫| 九九热99久久久国产盗摄| 欧美日韩亚洲一区二区| 日韩在线免费视频观看| 国产视频亚洲视频|