注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

庄庄的家

庄庄的家-网易博客

 
 
 

日志

 
 

WAP初级教程---WML基础  

2008-04-09 16:56:31|  分类: wap/wml |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

WML基础

WML的基本情况
建立网页制作环境
WML文件结构
WML字符集
WML元素:标记(Tag)和属性
WML注释
链接(URL)
CDATA

WML的基本情况
用于WAP的标记语言就是WML(Wireless Markup Language)。
WML的语法跟XML一样,WML是XML的子集。
HTML、XML和WML的文件有很多相似之处,这样网页开发者在过去10年中所学的东西今天依然适用。
WML页面文件的后缀是 *.WML,就象HTML的 *.HTML后缀。
XML规定定义了一个规范的XML文件的规格。任何违反这个规定的WML文件会出错。WML文件通常使用XML解释器起来解释。

建立网页制作环境
WML文件本身就是文本文件,所以编辑不成问题,顺手的编辑器都可以用。
当然,由于目前的浏览器还都不能显示WML页面,而我们又不能总在手机上进行测试(速度太慢),所以需要模拟器。现在象NOKIA、ERICSSON、MOTOROLA等手机制造商都生产了相应的产品,你只要下载就行了。当然除了模拟器以外,还需要图形制作转换器(用来制作WAP格式的图形文件)、字符转码器(汉字〈-〉UNICODE)等等,“资源室-〉开发工具”都有,一并下载吧。

WML文件结构
WML的页面通常叫做桌面(DECK),由一组互相链接的卡片(CARD)组成。当移动电话访问一个WML页面的时候,页面的所有CARD都会从WAP服务器下载到设备里。CARD之间的切换由电话内置的计算机处理,不需要再到服务器上取信息了。CARD里可以包含文本、标记、链接、输入控制、任务(TASK)、图像等等。CARD之间可以互相链接。
文档的实体包含在<wml>...</wml>标记中,文档里每个CARD又包含在<card>...</card>标记中,然后实际的文字段落则包含在<p>...</p>标记中。

简单例子:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
  "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card id="HELLO" title="HELLO">
 <p>
 Hello world!
 </p>
</card>
</wml>

显示结果如下:

------ HELLO ------

Hello World!

DECK里面各个组成部分的具体解释在本教程的其他部分有说明。

WML字符集
WML是XML的子集,继承了XML的字符集设置。WML文档缺省的字符集是UTF-8。
要显示中文,有两种办法。最简单的办法就是在文档头使用encoding,即把第一行改为:

<?xml version="1.0" encoding="gb2312"?>

然而令人丧气的是,这种方法有些手机和模拟器并不支持(将来会的),所以目前第2种方法更普遍:不改变字符集设置,但是在写中文的时候采用UNICODE代表中文字符,如:

<b>&#x901A;&#x8BAF;&#x5F55;</b>

代表:

通讯录

WML元素:标记(Tag)和属性
WML的主要内容是文本,由于标记会降低与手持设备的通讯速度,所以WML标准里仅仅使用了很少一部分。用于表格和图像的的标记几乎都被排除了。
与XML一样,在WML语言中,所有元素都放在符号"<" 和 ">"中,并且包含一个开始标志、一个结束标志和一个内容标志,或者使用自身结束的控制标记。就象这样:

<tag>内容</tag> 例如:<p>Hello world!</p>

<tag/> 例如:<br/> 和 <go href="#done"/>

WML同样支持在标志中标出属性。属性是标志的附加信息,与元素的内容不一样,它并不在屏幕上显示出来。属性通常在元素的开始标志后指定。如上面最后一个例子。

由于WML是XML的一种应用,因此所有的WML标记和属性都是大小写敏感的(<wml>跟<WML>完全不同),而且所有的标记都必须正确地结束。WML要求属性的值必须放在双引号或单引号内。单引号可放在属性标志内或双引号内。字符亦可作为属性的值。

WML注释
XML支持这样的注释格式:

<!这句话你在手机上看不到-->

这些注释在浏览器中并不显示出来。
WML不支持嵌套元素注释。

链接(URL)
WML外部引用方式跟HTML相同

http://www.wap86.net/great.wml
http://www.wap86.net/great.wml#login

内部引用,如果next是当前DECK中的一个CARD时,可以用这种方式:

#next

提供链接功能的WML元素有2个:<go>(参见任务)和<anchor>(参见事件)。

CDATA
XML支持CDATA的概念,以显示不需要解释的文本。下面的例子使用CDATA元素在WML页面中显示WML命令文本。

<! [CDATA [ <card name="bogus"><p&gtthis is data</p></card> ] ]>

浏览器窗口将显示如下内容:

<card name="bogus"><p>this is data</p></card>
  评论这张
 
阅读(288)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017