第二部分:WML基础概念 -- WML的简单例子及编辑、测试方法
完成WAP服务器的建立和WAP浏览器的安装之后,我们接下来就可以使用WML语言来编写WAP网页或应用,并通过WAP服务器及浏览器进行调试。从本章开始我们将系统地学习WML语言,本章主要讲解WML语言的基础知识,下一章全面讲解WML的语法、标签和规则。
2.1 WML的简单例子及编辑、测试方法
无限标记语言WML(Wireless Markup Language)是一种基于扩展标记语言XML(Extension Markup Language)的语言,是XML的子集。它可以显示各种文字、图像等数据,是由WAP论坛(http://www.wapforum.org)提出并专为无线设备用户提供交互界面而设计的,目前版本为1.1版。这些无线设备包括移动电话,呼机和个人数字助理PDA(Personal Digital Assistants)等。
2.1.1 WML与WAP设备
为了更好的了解和使用WML语言,开发人员应对WML使用的设备和支持WML的设备的特点、特征有个大概的了解。
一般而言,WML使用的无线设备通常具有以下特点:
与普通的个人计算机相比,体积较小;
设备的内存有限,且其CPU性能也有限;
通讯带宽较窄、时延较长。
以移动电话、PDA为例来讲,支持WML的设备主要具有以下特征:
有一个显示屏幕,可显示2.凶址啃?2各字符;2.凶址型ǔ0ūA舾δ馨磁サ囊恍校?br>支持数字和字符的输入;
支持操作者使用箭头或数字按钮进行选择;
支持ASCII的可打印码;
通常都有两个可编程功能键,即Accpet键和Options键,一般安排在接近键盘的屏幕下方;
通常有一个Prev导航键。
我们介绍WML所使用WAP设备的目的,是希望读者通过WAP设备的特点、特征来了解WML语言的特点,进而对WML编程所要解决的问题有个大概的认识。
2.1.2 使用文本编辑器面写WML程序
使用WML语言编写WAP网页或应用时,需要使用一个编辑器进行编辑。与HTML编程一样,WML编写的程序也是纯文件文本,可以使用任意文本编辑器进行编写,比如Windows系统中的“记事本(NotePad)”等。也可以使用比如Nokia WAP Toolkie等软件(有关此具体的用法会在以后的学习过程中提起)。我们先介绍第一种方法,随后介绍第二种。
如果要使用"记事本(NotePad)"来编写WML程序,则可以在Windows系统中,单击“开始”按钮,然后从出现的菜单中,依次将光标指向“程序”、“附件”、“记事本”,启动“记事本”程序。屏幕上随后就会出现它的编辑窗口,从中就可以输入并编写WML程序了。
作为举例,我们可以输入如下简单的程序。
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//wapforun//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<xml>
<card id="card1" title="Title">
<P>
<!--Write your card implementation here.-->
Hello World!!
</P>
</card>
</xml>
输完后将它保存为hello.xml文件。保存时注意文件的扩展名应为xml而不是txt。
第二部分:WML基础概念 -- WML程序结构
2.2 WML程序结构
上一节我们降解了一个简单的WML程序,具有HTML编程的读者可以看出,WML程序在结构上形式上与html程序有很多相似之处。下面我们就根据一个实例来分析一下WML程序的结构及组成。
2.2.1 WML的元素和标签
分析实例之前,我们有必要对WML的元素和标签予以简单说明。与HTML类似,WML的主要语法也是元素和标签。元素是符合DTD(文档类似定义)的文档组成部分,如title(文档标题)、IMG(图像)、table(表格)等等,元素名不区分大小写。WML使用标签来规定元素的属性和它在文档中的位置。标签使用小于号(<)和大于号(>)括起来,即采用“<标签名>”的形式。标签分单独出现的标签和成对出现的标签两种。大多数标签是成对出现的,由首标签和尾标签组成。首标签和尾标签又分别称为起始标签和终止标签。首标签的格式为“<元素名>”,尾标签的格式为 “</元素名>”。成对标签用于规定元素所含的范围,比?lt;b>和</b>标签用于界定黑体字的范围,也就是说<b>和</b>之间包住的部分采用黑体字显示。单独标签的格式为“<元素名/>”,他的作用是在相应的位置插入元素。如〈br/〉标签表示在该标签所在位置插入一个换行符。
2.2.2 WML程序结构形式及组成的实例分析
了解了上述知识后,下面我们在分析一个实例程序。程序如下:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapfourm.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" ontimer="#card2" title="Tookit Demo">
<timer value="50"/>
<p aligh="center">
</br></br></br>
<big>
<!--Write your card implementation here.-->
Welcome to....
</big>
</p>
</card>
<card id-"card2" ontimer="#card 3"title="Toolkit Demo">
<timer value="50"/>
<p align="center">
<br/><br/>
<b>
The Nokia<br/>
</b>
Wireless Application Protocol
</u>
...
</p>
</card>
<card id="card3"title="Toolkit Demo">
<p align="center">
<br/><br/><br/>
<big>
<i>
Toolkit
</i>
</big>
</p>
</card>
</xml>
该程序运行后将在WAP手机屏幕依次显示3屏信息。先显示"Welcome to ...",然后显示"The Nokia Wireless Application Protocol...",最后显示"Tookit!"。显示时每屏都有标题"Tookit Demo",相邻两屏之间延时为50,其单位大小为1/10秒,延时50即5秒。
通过以上实例我们可以了解到WML程序的结构形式及组成:
1)语法。WML与HTML极为相似。仍然是一种标记语言,并且延续了XML的语法规则,具体的语法我们会以后的学习过程中遇到。
2)文件声明。所有的WML程序必须在文件的开头处声明XML文件类型,包括XML的版本,WML的文档类型、所用规范等。声明形式如下:
<?xml version="1.0">
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
3)标签。在WML语言中需要使用标签(Tag),其使用形式与HTML和XML等标记语言中的形式是完全一致的。
4)元素。WML的元素(Element)用于描述卡片组(Deck)的标记信息即结构信息。一个元素通常有一个首标签、内容、其它元素及一个尾标签组成,具有下述两种结构之一:
<首标签>内容</尾标签>
或
<标签/>
元素包含的内容中还可以有元素,这些元素也是有首标签、相应内容、其它元素及尾标签组成。不包含内容的元素成为空元素。它为一个单独的标签。或者说,单独的标签也是一种元素。
5)属性。WML与XML一样,其标签可以包含很多属性。属性用于给标签提供必要的附加信息,且属性内容通常在起始标签内使用。不过,属性内容不会被浏览器显示,它至作为参数为标签提供必要的信息。
指明属性值的时候,需要把该值用引号扩起来,可以是单引号或者双引号,引号通常成对嵌套使用。属性名称必须小写。例如:<card id="card 1" ontimer="#card2" title="Toolkit Demo">
而且,单引号的属性中还可以包含双引号的属性。实体字符也可以作为属性值。实体字符是指诸如&、<、>、'、"的特殊字符,在WML程序中显示着类字符需要特殊处理,后面我们介绍具体方法。
6)注释。WML程序中也可以加入注释。注释内容用于给开发人员顺利阅读源代码提供方便,它不会被浏览器显示出来。注释内容在标签中用感叹号(!)引出,并用于<!--注释内容-->的形式。例如:<!-- Write your card implementation here.-->。需要说明的是,XML程序中不支持注释的嵌套。
7)文档结构。WML文档是由“卡片(Card)”和“卡片组(Deck)”构成的,一个Deck是一个或多个Card的集合。当客户端发出请求之后,WML即从网络上把Deck发送到客户浏览器,这是用户就可以浏览Deck内包含的所有Card,而不必从网上单独下载每一个Card,程序中的第一个Card是缺省得可见的Card。
注意:Deck是一副纸牌的意思,这里是指一叠卡片,所以我们在这里称之为它为“卡片组”。另外,Card指的是WAP手机屏幕大小的网页,尽管有时一个 Card可能需要多屏才能显示完,但我们也可以把它翻译成“页面”,不过这样与HTML中的页面容易混合。因此我们在这里称之为卡片。
2.2.3 WML程序的基本结构
以上我们简单分析了WML的程序结构及组成,由此大家可以对WML程序有个整体上的初步认识。下面我们给出WML程序的基本结构。
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1xml">
<wml>
<head>
<access/>
<meta..../>
</head>
<card>
Some contents...
</card>
<wml>
该基本结构可以分为以下几个关键部分:
1)声明。WML程序有许多Deck组成,对于每一个Deck,在其文档开头必须进行XML的声明和文档类型DOCTYPE的声明。
XML声明总是在文件的第一行,注意前面最好不要有空格或者还行:
<?xml version="1.0"?>
2)紧跟着是DOCTYPE声明,注意声明是字母的大小写不要搞错:
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1xml">
3)<xml>标签。该标签用于包含和定义WML的一个Deck。它有一个可选的xml:lang属性来制定文档的语言,比如<wml xml:lang="zh">表示文档语言为中文。
4)<head>标签。该标签用于包含和定义Deck的相关信息。<head>标签之间可以包含一个<access>标签和多个<meta>标签。
5)<access/>标签。它的一般形式是<access domain="域" path="/路径"/>,主要用于制定当前Deck的访问控制信息,有两个可选的属性。其中,domain用来制定域,默认值为当前域,path 用来制定路径,默认值为“/”,即跟目录。由于<access>单独使用,所以要用“/”结尾,后面我们还会系统的讲解WML的各种标签,这里即使看不懂也没关系,主要有些感性的认识就可以了。
6)<meta...>标签。它的一般形式是<meta 属性 content="值" scheme"格式" forua="true|false"/>,用于提供当前Deck的meta信息,包括内存数据处理方式,以及数据传输方式和处理方式等。有关该标签的详细内容我们后面会专门给出。
7)<card>标签。一个Deck可以包含多个Card,每个Card的内容可能不止一屏显示。对于每一个Card,WML均使用<card>和</card>进行包含和定义。 <card>同时可以包含多个可选的属性,如<card id="name" title="label" newcontext="false" ordered="true" onenterforwand="url" pmemterbackward="url" ontimer="url">。至于这些属性的具体含义及功能,我们将在后面介绍。
分享到:
相关推荐
**WML(无线标记语言)**是专门为无线设备如手机、PDA等设计的一种基于XML的标记语言,用于创建在这些设备上...通过编写和测试简单的WML程序,开发者可以逐步熟悉这一语言,并进一步探索更复杂的WML语法、标签和规则。
在进行WAP(Wireless Application Protocol)开发过程中,中文乱码问题是开发者经常会遇到的问题之一。尤其是在早期的移动互联网技术中,WML(Wireless Markup Language)作为主要的标记语言被广泛应用于WAP网页的...
**WAP建站基础教程——WAP(WML)开发详解** WAP(Wireless Application Protocol,无线应用协议)是一种在移动设备上访问互联网的技术,主要用于简化版网页浏览,尤其适用于早期功能手机。WML(Wireless Markup ...
通过上述内容,我们可以了解到WAP建站的基础知识,包括主流的WAP工具包介绍、WML标记语言和WMLScript脚本语言的特性及应用。这些知识对于希望从事WAP应用开发的人来说是非常宝贵的。通过对WAP工具包的学习和实践,...
《无线应用协议与无线标记语言规范详解》 无线应用协议(Wireless Application Protocol,简称WAP)是专为移动通信设备设计的一种开放标准,旨在使手机等无线终端能够访问互联网内容和服务。WAP协议栈是建立在现有...
**WML与WAP设备** 理解WML的关键在于了解它所针对的设备特性。这些设备通常体积小、内存有限、CPU性能较低,且通信带宽窄、延迟时间长。例如,移动电话和PDA通常有一个能显示4行12字符的小屏幕,支持数字和字符输入...
开发WAP应用时,开发者可以使用专门的编辑器如Notepad++或Dreamweaver,以及模拟器如Nokia WAP Toolkit来预览和测试WML页面。此外,一些现代IDE如Visual Studio Code也支持WML插件,提供代码高亮和自动补全等功能。 ...
这种工具通常包含基础的WML编辑器,支持语法高亮、自动完成等功能,以提高编码效率。同时,它还可能提供实时预览功能,允许开发者在模拟器或真实设备上查看WML页面在移动设备上的效果。 标签中的“WAP”、“开发...
这个压缩包中的资源提供了全面的教程,涵盖了从WML的基础到JSP与WML集成的高级概念,对于想要学习WAP开发的初学者来说是非常有价值的参考资料。通过深入研究这些文件,开发者可以学习到如何创建适应无线设备的动态...
10. **测试与调试**:由于WAP应用的特殊性,开发者需要使用模拟器或实际设备进行广泛的测试,确保应用在各种网络条件和硬件配置下的正常运行。 在实际项目中,开发者通常会结合WML、WMLScript以及WAP网关的功能,...
在2000年代初期,随着WAP(无线应用协议)的流行,WML成为开发移动Web应用的主流技术之一。本文将引导你入门WML,了解其基本概念、结构以及如何创建简单的WML页面。 **一、WML基础** 1. **语法规则**: WML语法与...
完成以上步骤后,你就可以在WAP手机模拟器上测试你的WML网页,观察其在移动设备上的显示效果。 总的来说,WML入门需要对互联网基础、HTTP协议和HTML有一定的理解。通过编写简单的WML脚本并配置服务器,你可以开始...
第 2章 WAP原理、架构与开发工具包 第 3章 WAP手机上网设置.. 第 4章 WAP网站的服务器建设..... 第 5章 WML语言基础 第 6章 WML编程 第 7章 WMLScript 语法基础 第 8章 WMLScript 脚本程序设计 第 9章 WMLScript 库...
想做wap开发吗?来看看这个最基础的wap教程,最基础的wml教程吧,你一定获益匪浅的。入门必备……
WAP开发是构建能在移动设备上运行的应用程序的过程,通常涉及WML(无线标记语言)和WMLScript。 **WML**(Wireless Markup Language)是一种基于XML的语言,专门设计用于创建适合小屏幕和有限输入设备的网页内容。...
**WAP与WML语言基础** WAP(Wireless Application Protocol)无线应用协议是一种通信协议,主要用于移动设备,如手机,以实现互联网内容和服务的访问。WAP技术使得用户可以通过移动设备浏览网页、发送电子邮件、...
**WML基础知识教程——WAP开发** WML(Wireless Markup Language)是为无线设备,如早期的手机和平板电脑,设计的一种标记语言,用于创建适应小型屏幕和有限功能的移动浏览器的网页。WML是WAP(Wireless ...