第二部分:WML详解(二)-- 卡片、卡片组及其属型
元素和标签是WML的主要语法,它们决定了WML编程的基本原则。本章我们将从WML的元素、标签、属性等方面详细讲解WML的编程方法
。学习本章知识之前,读者应当了解WML元素与标签的区别。WML的元素通常有一个首标签、内容、其它元素及一个尾标签组成。也就
说,单独的标签是一个元素,成对出现的标签与其包含的内容也构成一个元素。由于元素牵涉及标签,标签又涉及属性。
3.1 卡片、卡片组及其属性
我们前面介绍了WML的卡片与卡片组,主要从概念和相互关系的角度进行了分析。我们这里则从卡片、卡片组的组成、相关元素、标
签技术性等编程角度进行分析和讲解。
3.1.1 共有属性
WML元素的共有属性主要有3个:id、class和xml:lang属性。
WML的所有元素都有两个核心属性,即标示(id)和类(class)属性。它们主要用于服务器方的信息传输。其中,id属性用于定义元
素在卡片组中的唯一标示,即它的名称;class属性用于给当前元素定义一个或更多的类(class)。与卡片组一样,类(class)也
是有名字的,而且多个元素可以使用一个类(class)名。具有相同类名的单一卡片组中的所有元素均可被看作相同类的一个部分。
类名是区分大小写的。如果在class属性列表中,一个元素多个唯一的类名,那么该元素可以看作这些类中的一部分。具有同一属性
的多个类名必须用两个以上的空格间隔,WML程序执行时将忽视其中多余的类名及其属性。
另外,在WML程序,所有包含文本的元素均具有“xml:lang”属性。该属性用于指定当前元素及其属性所用的描述语言,如英国英语
、美国英语、法语、德语等,并可以为用户浏览器选择显示文本的语言提供依据。
3.1.2 WML程序的文件头
合法的WML卡片组均属合法的WML文件,因此它必须包含WML的声明及文件类型的声明。典型的WML程序的文件头包括我们前面多次提到
的以下两行程序:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//wapforun//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
编写WML程序时,我们必须写入这两行程序,并放在程序的开始处。其中"-//wapforun//DTD WML 1.1//EN"是标准通用标记语言SGML
的公共标示;"http://www.wapforum.org/DTD/wml_1.1.xml"是WML程序文档类型的标示。文档类型标示也可以是"text/vnd.wap.wml"
或“application/vnd.wap.wmlc”,其中前者制定WML的原文类型,后者贫╓ML程序编译后代码类型。
3.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元素必须至少包含一次。有关这些元素的用法我们后面介绍。
3.1.4 template元素
template元素用于为当前卡片组中的所有卡片定义一个模板,同一规定卡片的某些参数。模版中的事件处理功能则可将这些参数自动
应用于同一卡片组中的所有卡片。不过,我们也可以是其中某个或某几个卡片不采用模板规定的形式,方法是在该卡片中定义一个同
名的事件来替代模板块中相应的事件。template元素通过<template>和</template>标签含所需内容(content)而实现模板功能的,
其语法格式如下:
<template oneterforward="href" onenterbackwared="href" ontimer="href">
内容(content)
</template>
template元素包含的内容中,除了卡片的一般参数外,还可以包含任意多次的do元素和onevent元素。template元素属性的功能及用
法说明如下:
1)oneterforward。当用户在浏览器中进入当前卡片时,该属性将指定超链(href)的URL地址,浏览器将据此打开URL指定的卡片或
事件。
2)oneterbackward。与上一属性类似,该属性也可以指定其相应卡片或事件的URL地址。如果用户浏览时执行prev任务,那么浏览器
就会定位到该属性所指定超链(href)的URL地址,并打开URL指定的卡片或事件。
3)ontimer。当指定时间timer过期的时候,用户浏览器就根据ontimer属性指定的URL打开相应的卡片。
3.1.5 card元素
WML的卡片组是由一个或多个卡片(card)构成的,每个卡片都包含有一套用户和浏览器交互操作的配置及模式。用户对交互操作的
需求是多样性的,所以卡片定义时也必须是多样性的。为此,WML提供了card元素,通过<card>和</card>标签定义一个卡片的各种属
性、包含内容。它的语法格式如下:
<card id="name" title="label" newcontext="boolean" ordered="true" onenterforward="href" onenterbackward="href"
ontimer="href">
内容(content)
</card>
card元素中包含的内容(content)中除了文本、图像信息之外,还可以包含onevent、timer、do和p元素。其中,timer元素只可使
用一次,其余3种可使用多次。而且,如果card元素包含onevent元素或timer元素的话,那么onevent元素必须放在最前面,timer元
素放在onevent元素的后面,随后才可以使用do或p元素。这个优先顺序是不能乱的。
card元素属性的功能及用法介绍如下:
1)id。用于指定card的名字。改名字是程序导航定位的依据,可以用作程序段锚点,比如<go href="#cardname"/>。其中的
cardname便是由id指定的卡片名。
2)title。用于为卡片制订一个简单的标题或说明信息。
3)newcontext。用于指定WAP手机浏览当用户重新进入的时候是否需要初始化卡片中所有的内容。它有true和false两种选择,当指
定newcontext="ture"时,卡片的所有内容在用户重新进入时将进行初始化,也不清除历史纪录;否则,指定newcontext="false"时
,将不进行初始化设置,也不清除历史纪录。默认状态下的设置值为false。另外,newcontext仅当作为go任务的一部分时才可被执
行。
4)ordered。用于向用户手机的浏览器指明卡片内容的组织形式,以便让浏览器根据自身特点及卡片内容组织及时安排显示布局。它
有两种布尔值得设置,即true和false。
当ordered="true"时,浏览器将按照线性顺序显示卡片各区域的内容。这个线性顺序通常是大多数用户所习惯采用的信息浏览顺序,
比如发送E-mail信息时,我们依次需要E-mail首件人地址、主题及E-mail内容,这个逻辑顺序就数线性顺序。
当ordered="flase"时,浏览器将根据用户选择或指定的顺序来显示内容。这种情况主要是用于显示用户选项、无序组建或用户输入
的简单数据纪录等。
5)onenterforward。onenterforward事件仅当用户使用go任务或类似于go的任务位和浏览卡片时才可发生,即如果用户执行go任务
,则浏览器就会定位<go>标签中指定超链(href)的URL指定的卡片。card元素中的onenterforward属性是onevent元素的一个简单格式
,用于直接指定onenterforward事件的URL地址。
6)onenterbackward。该属性可以指定其响应时间的URL地址。如果用户浏览时执行prev任务,那么浏览器就会定位到该属性所制定
超链 (href)的URL地址,并打开URL指定的卡片。onenterbackward属性也属于onevent元素的一个简单格式。
7)ontimer。当指定时间timer过期的时候,用户浏览器就根据ontimer属性指定的URL打开相应的卡片。它也属于onevent元素的一个
简单格式。
3.1.7 access元素
access元素是由一个单独的的标签<access>标签实现的元素。用于定义WML整个卡片组的操作权限,即访问控制参数。access元素必
须在head元素内和其它的meta信息一起声明,而且每个卡片组只能有一个access元素。其语法格式如下:
<head>
<access domain="domain" path="path">
...
</head>
access元素属性的功能及用法如下:
1)domain。用于指定对卡片组进行操作的URL域,默认域是当前卡片组所在的域。domain的目的是限制访问,用户浏览时浏览器将根
据domain值所规定的值来得出与值匹配的地址,并访问该地址对应的卡片或事件。 2)path。用于指定卡片组操作的其它卡片组所在
的根目录。默认目录是“/”,即当前卡片组所在的根目录。默认目录的规定使得所有在domain域下的卡片组都可以操作当前卡片组
。path的值是访问时需要匹配的路径,它的工作原理与domain十分相似,需要与路径的每个子路径相匹配,否则均属无效。
3.1.8 meta元素
meta元素用于定义WML卡片组相关的通用meta信息。该元素是由一个单独的标签即<meta/>标签实现的元素,其语法格式如下:
<meta name="name"|http-equiv="name" content="value" forua="true|false" scheme="format"/>
其中,name属性和http-equiv属性只能选择使用一个;content属性是必选的,其值根据属性而定;scheme属性目前尚不支持;forua
属性为可选属性。各属性功能及用法说明如下:
1)content。该属性用于指定meta信息的性质的值,是不必选的。
2)name。用于指定meta信息性质的名称。用户浏览器通常忽略已经命名meta数据,网络服务企业拒绝发送包含该属性所指定meta数
据名称的内容。
3)http-equiv。该属性用于替代name属性,可将meta数据转为WSP或HTTP协议的响应头。
4)forua。该属性用于指定那些开发者希望传送值用户浏览器的性质。它有ture和fales两个取值,如果取false,则卡片组在发送往
客户端以前必须用中间代理去除meta元素信息,这是因为传输的协议可能改变;若取值为true,则meta数据必须如实送往用户的浏览
器。默认的状态下,该属性的值为false。
5)scheme。该属性用于指定解释meta信息性质值的形式或结构。具体的形式或结构因meta数据的类型不同而不同。
分享到:
相关推荐
本篇内容将聚焦于"wap系统开发 之 快速入门",旨在帮助初学者理解WAP的基本概念、开发环境的搭建以及如何进行简单的应用开发。 首先,我们要了解WAP的基本结构。WAP协议栈包括四个主要层次:物理层、数据链路层、...
本篇内容将围绕“WAP开发常用资料入门学习”展开,详细介绍WAP的基本概念、主要技术以及开发实践。 1. **WAP基础知识**: WAP是为了解决移动设备的屏幕小、带宽有限等问题而设计的。它使用一种称为WML(Wireless ...
**3.1 卡片、卡片组及其属性** - **卡片**:展示给用户的最小单元,每个卡片包含一些内容和/或导航指令。 - **卡片组**:一系列相关的卡片,用户可以通过导航链接在这些卡片之间移动。 - **属性**:卡片和卡片组都...
本教程覆盖了从入门到进阶的WAP开发过程,是学习WAP技术的理想资源。其中,`wml script`是WAP环境中的一种脚本语言,用于增强WAP页面的交互性。 **WAP基础** 1. **WAP架构**:WAP采用了分层的结构,包括用户代理...
【标题】:“wap教程-入门必看的文章” 在移动互联网早期,WAP(Wireless Application Protocol,无线应用协议)是一种让非智能移动设备通过GPRS、EDGE等无线网络访问互联网的技术。WAP教程主要教授如何利用WAP技术...
标题 "wap 网站整站程序" 指的是一个专门针对移动设备,特别是早期非智能手机的无线应用协议(WAP)网站的完整开发程序。WAP是一种在低带宽移动通信环境下提供互联网服务的技术标准,它允许用户通过GPRS、EDGE等2G或...
**WAP建站基础教程——WAP(WML)开发详解** WAP(Wireless Application Protocol,无线应用协议)是一种在移动设备上访问互联网的技术,主要用于简化版网页浏览,尤其适用于早期功能手机。WML(Wireless Markup ...
- **WAP应用开发**:WAP应用通常由一系列的WML卡片(Card)组成,这些卡片通过不同的交互动作(Action)来组织和控制应用的流程。 #### 使用Delphi进行WAP应用开发 - **所需硬件与软件**:开发WAP应用需要安装合适...
该工具包特别适合那些希望快速入门WAP开发的开发者。 **特点:** - 简单易用,适合初学者。 - 提供了完整的文档和支持资料。 - 支持WML和WMLScript的开发。 #### 三、WML标记语言介绍 WML(Wireless Markup ...
### WAP 2.0 入门:理解 WAP、WML 及其相关协议 随着移动通信技术的发展,无线应用协议(WAP)成为连接移动设备与互联网的关键桥梁之一。WAP 2.0 是 WAP 的一个版本,旨在为用户提供更高质量的服务体验,并支持更为...
在2000年代初期,随着WAP(无线应用协议)的流行,WML成为开发移动Web应用的主流技术之一。本文将引导你入门WML,了解其基本概念、结构以及如何创建简单的WML页面。 **一、WML基础** 1. **语法规则**: WML语法与...
3. **WML deck**:一组卡片构成一个WML deck,它是用户在移动设备上交互的基本单位。一个deck可以通过`<deck>`元素定义,可以包含多个`<card>`元素。 4. **导航结构**:WML提供了一系列元素来创建链接和导航结构,...
**WML 语言入门与标签使用** WML(Wireless Markup Language)是一种专为无线设备,如移动电话,设计的标记语言,它使得在这些设备上浏览和交互互联网内容成为可能。WML 是WAP(Wireless Application Protocol)...
1. **《WAP编程全书》**:这本书全面介绍了WAP技术和WML编程,包括WAP协议的基础知识、WML语言的使用方法、WAP应用的开发流程等,适合初学者入门。 2. **《wap编程》**:该书可能更专注于实践操作,提供具体的编程...
WML由一系列的卡片(card)组成,每个卡片包含一个独立的交互界面,这样的设计是为了适应有限的屏幕空间和有限的网络带宽。 `WAP初级教程`可能涵盖WAP(无线应用协议)的基本概念,WAP是一种允许移动设备通过无线...
**WML(无线标记语言)**是XML家族的一员,专为无线设备如手机设计,用于在小型显示屏上呈现内容和创建交互式用户界面。...理解和掌握WML的这些基础知识,对于开发面向移动设备的应用和服务至关重要。
4. **与WAP结合**:WML通常与WAP(无线应用协议)一起使用,构成WAP网站,为移动用户提供互联网服务。 随着技术的发展,WML逐渐被更先进的XHTML-MP(移动版XHTML)和今天的HTML5所取代,但理解WML的历史和原理对于...