当前位置:首页 > 设计在线 > 网页设计 > WAP > WML编程

WML编程

点击次数:35 次 发布日期:2008-11-22 11:04:51 作者:源代码网
源代码网推荐

元素和标签是wml的主要语法,它们决定了wml编程的基本规则。本章我们就从wml的元素、标签、属性等方面详细讲解wml的编程方法。学习本章知识之前,读者应当了解wml元素与标签的区别。wml的元素通常由一个首标签、内容、其他元素及一个尾标签组成,元素也可以不含有内容。不包含内容的元素称为空元素,它退化成一个单独的标签。也就说,单独的标签是一个元素,成对出现的标签与其包含的内容也构成一个元素。由于元素涉及标签,标签又涉及属性,所以我们本章各节均以元素为主线,通过大量实例分别从卡片与卡片组、事件、任务、变量、用户输入、锚点、图像、时间控制、文本格式等几个方面进行讲解。

卡片、卡片组及其元素
我们前面已经多处介绍过wml的卡片与卡片组,主要从概念和相互关系的角度进行了分析。我们这里则从卡片、卡片组的组成、相关元素、标签及属性等编程角度进行分析和讲解。

6.1.1 共有属性
wml元素的共有属性主要有3个,即id、class和xml:lang属性。

wml的所有元素都有两个核心属性,即标识(id)和类(class)属性。它们主要用于服务器方的信息传输。其中,id属性用于定义元素在卡片组中的唯一标识,即它的名称;class属性用于给当前元素定义一个或更多的类(class)。与卡片组一样,类(class)也是有名字的,而且多个元素可以使用一个类(class)名。具有相同类名的单一卡片组中的所有元素均可被看作相同类的一个部分。类名是区分大小写的。如果在class属性列表中,一个元素具有多个唯一的类名,那么该元素可以看作这些类中的一部分。具有同一属性的多个类名必须用两个以上的空格间隔,wml程序执行时将忽略其中多余的类名及其属性。

另外,在wml程序,所有包含文本的元素均具有“xml:lang”属性。该属性用于指定当前元素及其属性所用的描述语言,如英国英语、美国英语、法语、德语等,并可以为用户浏览器选择显示文本的语言提供依据。

6.1.2 wml程序的文件头
合法的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">

编写wml程序时,我们必须写入这两行程序,并放在程序开始的第1、2行。其中,“-//wapforum//dtd wml 1.1//en”是标准通用标记语言sgml(standard generalized markup language)的公共标识;“http://www.wapforum.org/dtd/wml_1.1.xml”是wml程序文档类型的标识。文档类型标识也可以是“text/vnd.wap.wml”或“application/vnd.wap. wmlc”,其中前者指定wml的原文类型,后者指定wml程序编译后代码类型。

6.1.3 wml元素
wml的wml元素用于定义一个卡片组,并通过<wml>与</wml>标签包含和封装该卡片组中的所有卡片及信息。它的语法格式如下:

<wml xml:lang="lang" >

内容(content)

</wml>

其中xml:lang="lang"用于指定文档所用语言(前面已有介绍),语言"lang"的值属于nmtoken型数据。

wml元素中包含的内容(content)中除了文本、图像等信息之外,还可以包含head、template及card元素。其中head、template元素如果包含的话则只可包含一次,而card元素必须至少包含一次。有关这些元素的用法我们后面介绍。

下面给出的例程中,wml元素中包含了一个由两个卡片构成的卡片组:

<wml xml:lang="en-us">

<card id="card1" title="card 1">

<do type="accept">

<go href="#card2"/>

</do>

<p>

hello world!

this is the first card...


图6.1 wml元素应用举例

</p>

</card>

<card id="card2" title="card 2">

<p>

this is the second card.

goodbye.

</p>

</card>

</wml>

程序第1行中的xml:lang属性用于指定文档使用美国英语("en-us")编写。运行该程序时,它将先在wap用户的手机浏览器上显示第1个卡片,当用户激活do元素后,则显示第2个卡片,效果如图6.1所示。

12下一页
源代码网供稿.
网友评论 (0)
会员中心
设计在线
本站推荐
设计在线之精华