通过本文主要向大家介绍了WML语言的基本情况等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
用于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>标记中。 简单例子:
显示结果如下:
DECK里面各个组成部分的具体解释在本教程的其他部分有说明。 WML字符集 WML是XML的子集,继承了XML的字符集设置。WML文档缺省的字符集是UTF-8。 要显示中文,有两种办法。最简单的办法就是在文档头使用encoding,即把第一行改为:
然而令人丧气的是,这种方法有些手机和模拟器并不支持(将来会的),所以目前第2种方法更普遍:不改变字符集设置,但是在写中文的时候采用UNICODE代表中文字符,如:
代表:
WML元素:标记(Tag)和属性 WML的主要内容是文本,由于标记会降低与手持设备的通讯速度,所以WML标准里仅仅使用了很少一部分。用于表格和图像的的标记几乎都被排除了。 与XML一样,在WML语言中,所有元素都放在符号"<" 和 ">"中,并且包含一个开始标志、一个结束标志和一个内容标志,或者使用自身结束的控制标记。就象这样:
WML同样支持在标志中标出属性。属性是标志的附加信息,与元素的内容不一样,它并不在屏幕上显示出来。属性通常在元素的开始标志后指定。如上面最后一个例子。 由于WML是XML的一种应用,因此所有的WML标记和属性都是大小写敏感的(<wml>跟<WML>完全不同),而且所有的标记都必须正确地结束。WML要求属性的值必须放在双引号或单引号内。单引号可放在属性标志内或双引号内。字符亦可作为属性的值。
这些注释在浏览器中并不显示出来。 WML不支持嵌套元素注释。 链接(URL) WML外部引用方式跟HTML相同
内部引用,如果next是当前DECK中的一个CARD时,可以用这种方式:
提供链接功能的WML元素有2个:<go>(参见任务)和<anchor>(参见事件)。
浏览器窗口将显示如下内容:
| |||||||||||
有了上面的基础,相信大家已经能够做不少事情了。现在我们来深入一下,看看如何提高性能和网络传输效率。首先,需要介绍一下http 1.1(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、响应 响应的消息定义部分一般是这样 您可能想查找下面的文章:文章分类 |