什么是 WML?

2019-01-14 11:54:56王旭

  WML字符集
  WML是XML的子集,继承了XML的字符集设置。WML文档缺省的字符集是UTF-8。
  要显示中文,有两种办法。最简单的办法就是在文档头使用encoding,即把第一行改为:
  <?xml version="1.0" encoding="gb2312"?>
  然而令人丧气的是,这种方法有些手机和模拟器并不支持(将来会的),所以目前第2种方法更普遍:不改变字符集设置,但是在写中文的时候采用UNICODE代表中文字符,如:
  <b>通讯录</b>
  代表:
  通讯录
  WML元素:标记(Tag)和属性
  WML的主要内容是文本,由于标记会降低与手持设备的通讯速度,所以WML标准里仅仅使用了很少一部分。用于表格和图像的的标记几乎都被排除了。
  与XML一样,在WML语言中,所有元素都放在符号"<" 和 ">"中,并且包含一个开始标志、一个结束标志和一个内容标志,或者使用自身结束的控制标记。就象这样:
  <tag>内容</tag> 例如:Hello World!
  或
  <tag/> 例如:
  和 <go href="#done"/>
  WML同样支持在标志中标出属性。属性是标志的附加信息,与元素的内容不一样,它并不在屏幕上显示出来。属性通常在元素的开始标志后指定。如上面最后一个例子。
  由于WML是XML的一种应用,因此所有的WML标记和属性都是大小写敏感的(<wml>跟<WML>完全不同),而且所有的标记都必须正确地结束。WML要求属性的值必须放在双引号或单引号内。单引号可放在属性标志内或双引号内。字符亦可作为属性的值。
  WML注释
  XML支持这样的注释格式:
  <!这句话你在手机上看不到-->
  这些注释在浏览器中并不显示出来。
  WML不支持嵌套元素注释。
  链接(URL)
  WML外部引用方式跟HTML相同
  http://www.itsalon.net/index.wml 或
  http://www.itsalon.net/index.wml#login
  内部引用,如果next是当前DECK中的一个CARD时,可以用这种方式:
  #next
  提供链接功能的WML元素有2个:<go>(参见任务)和<anchor>(参见事件)。
  CDATA
  XML支持CDATA的概念,以显示不需要解释的文本。下面的例子使用CDATA元素在WML页面中显示WML命令文本。
  <! [CDATA [ <card name="bogus">this is data
  </card> ] ]>
  浏览器窗口将显示如下内容:
  <card name="bogus">this is data
  </card>