[教程] WAP初级教程(4)—WML基本结构
发布:小优 | 发布时间: 02 January 2008WAP初级教程(4)—WML基本结构
上一节我们知道了wap的基本工作原理,也介绍了使用EasyPad软件可以快速简便的创建和编辑和调试WAP页面。今天我们就正式的认识一下WML文件的基本格式。
一、 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字符集
WML是XML的子集,继承了XML的字符集设置。WML文档缺省的字符集是UTF-8。
要显示中文,有两种办法。最简单的办法就是在文档头使用encoding,即把第一行改为:
要显示中文,有两种办法。最简单的办法就是在文档头使用encoding,即把第一行改为:
| <?xml version="1.0" encoding="gb2312"?> |
然而令人丧气的是,这种方法有些手机和模拟器并不支持(将来会的),所以目前第2种方法更普遍:将编辑好的.wml文件用记事本打开然后:文件—另存为—文件编码方式选择unicode方式保存覆盖原来的文件,这样你的WAP页面就能够很好的显示中文了。
这里第一种方式更为简便,在手机支持的情况下推荐使用第一种方式。
WML元素:标记(Tag)和属性
WML的主要内容是文本,由于标记会降低与手持设备的通讯速度,所以WML标准里仅仅使用了很少一部分。用于表格和图像的的标记几乎都被排除了。
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相同
WML外部引用方式跟HTML相同
内部引用,如果next是当前DECK中的一个CARD时,可以用这种方式:
| #next |
Card
在手机上访问WML页面时,页面里所有的卡(card)都从WAP服务器上下载下了。Card和card之间的转换是通过手机内置的手机计算机完成的,无须经过服务器。
| <?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="no1" title="Card 1"> <p>Hello World!</p> </card> <card id="no2" title="Card 2"> <p>Welcome to our WAP Tutorial!</p> </card> </wml> |
手机显示的结果也许会是这样(注意一次只显示一张card,默认显示第一个card的内容这里是no1):
| ------ Card 1 ------ Hello World! |
段落和行分隔符
WML的“card“可设置来显示WML的段落和行分隔符函数:
WML的“card“可设置来显示WML的段落和行分隔符函数:
| <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card title="Paragraphs"> <p> This is a paragraph </p> <p> This is another<br/>with a line break </p> </card> </wml> |
手机显示的结果也许会使这样:
| ------ Paragraphs ------ This is a paragraph This is another with a line break |
文本格式化
WMLcard可通过设置显示WML的文本格式化函数
WMLcard可通过设置显示WML的文本格式化函数
| <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card title="Formatting"> <p> normal<br/> <em>emphasized</em><br/> <strong>strong</strong><br/> <b>bold</b><br/> <i>italic</i><br/> <u>underline</u><br/> <big>big</big><br/> <small>small</small> </p> </card> </wml> |
WML提供了一系列文字样式的标记,如右表所示。不过WML鼓励大家尽量使用<strong>和<em>标记,因为某些WAP终端会忽略其他标记。
手机显示的结果也许会是这样(不要认为所有的格式化标记会像预期的那样呈现出来)
手机显示的结果也许会是这样(不要认为所有的格式化标记会像预期的那样呈现出来)
| 标记 | 字体样式 |
| <b> | 粗体 |
| <big> | 大字体 |
| <em> | 强调字体 |
| <i> | 斜体 |
| <small> | 小字体 |
| <strong> | 加重强调字体 |
| <u> | 下划线字体 |
| ----- Formatting ----- normal emphasized strong bold italic underline big small |
发布:小优 | 分类:Mobile | 评论:0 | 引用:0 | 浏览:
| TrackBack引用地址
- 相关文章:
[教程] WAP初级教程(3)—WML编程环境搭建 (2007-12-30 18:30:45)
[教程] WAP初级教程(2)—WML工具资源篇 (2007-12-30 18:4:31)
[教程]WAP初级教程(1)—认识WAP (2007-12-29 0:43:52)
[专题]WAP入门教程系列 (2007-12-29 0:37:55)
[教程]ActionScript 3 Cookbook 中文版PDF(下载) (2007-7-8 17:29:25)
[教程]FLASH CS3/AS3.0教程汇总(2007-7-25更新) (2007-7-7 20:10:0)
[教程]Flex初学者看,Flex官方视频演示 (2007-7-4 23:33:0)
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。





