首 页WAP教程WAP源码WAP电子书客户留言龙腾电脑维修网158网络电视本站论坛繁體中文
设为首页
加入收藏
联系我们
您当前的位置:WAP开发网 -> WAP教程 -> WML教程 -> 文章内容 退出登录 用户管理
栏目导航
· ASP WAP开发教程 · ASP.net WAP开发教程
· PHP WAP开发教程 · WML教程
· JSP开发WAP教程 · WAP 2.0
· 综合杂谈
热门文章
· WAP 2.0教程
· WML语言基础(WAP建站...
· 用VS2005实现ASP.NE...
· [组图] php WAp开发教程
· WML语言基础(WAP建站...
· VS.NET 2003开发移动...
· [图文] ASP技术进行动态WAP...
· [图文] WML语言基础(WAP建站...
· asp.net移动控件开发...
· [图文] 创建移动Web应用程序...
相关文章
· asp.net强制输出WML...
· WML初级教程之关于W...
· 使用WML和ASP编写动...
· [推荐] 如何链接WML和XHTML...
· WAP初级教程----WML...
· WAP初级教程---WML基...
· PHP建立动态的WML站...
· wml如何实现下载图片...
· WML语言全垒打
· 可以通过WML使得可以...
WML数据值性质
作者:不详  来源:不详  发布时间:2006-3-6 11:06:55  发布人:tangyunfei

减小字体 增大字体


wml数据值性质
除了nmtoken型数据外,wml其他3种类型的数据都必须以文本形式即加上引号进行定义。我们关心的问题是,这些类型的数据可以表示哪些数据值呢?或者说,它们所表示的数据值的性质是什么呢?

事实上,wml数据值在性质上可以是长度(length)、宏变量(vdata)、流(flow)、内行(inline)、布局(layout)、文本(text)、超链(href)、布尔值(boolean)、数值(number)或增强方式(emphasis),下面我们就介绍一下它们的规则及使用方法。

(1) 长度(length)。wml编程中使用的长度主要用于表示屏幕像素的多少或所占屏幕水平、垂直空间的百分比。比如,“50”意为50个像素,“50%”意为屏幕水平或垂直空间长度的50%。长度属于cdata型数据,常用“%length”表示。

例如,下例中的hspace与vspace都属于%length性质的数据:

<img src="bitmaps/moon.wbmp" hspace="1" vspace="1"/>

<img src="bitmaps/moon.wbmp" hspace="2%" vspace="2%"/>

注意,本章给出的例程都或多或少地用到了wml的标签,这部分内容我们下一章介绍。如果在这里读者一时看不懂,可以先浏览下一章的内容,稍有感性认识后再学习这部分内容。

(2) 宏变量(vdata)。主要用于表示包含变量名的字符串,仅用于属性值。它属于cdata型数据,常用“%vdata”表示。例如,<card id="card1" title="$(showme)">一句中的“$(showme)”就属于%vdata性质的数据。

(3) 文本(text)。用于表示包含一定格式的文本实体,属于pcdata型数据,常用“%text”表示。例如,下例中包含有运行时显示为普通格式的文本,以及加黑显示的文本:

a line with plain text.

<em>

<strong>

a line with strong emphasis.

</strong>

</em>

(4) 流(flow)、内行(inline)和布局(layout)。流(flow)用于表示“卡片级(card-level)”的信息,内行(inline)用于表示“文本级(text-level)”的信息,布局(layout)用于表示与文本布局有关的信息,如换行符等。

一般来说,内行型(%inline)的可能是文本型(%text),也可能是布局型(%layout)的,通常是程序中的纯文本或处理的变量;而流型(%flow)的则可能包括内行型(%inline)、图像(img)、锚(anchor)及表格(table)等卡片级的所有元素。有关“锚(anchor)”的概念我们后面会讲解的。比如,下面的例程中就有换行符、文本等性质的内容,也即数据。

<em>

an emphasized line.

<big>

a big and emphasized line.

</big>

</em>

a line with no text formatting.

(5) 超链(href)。主要用于表示相对的或绝对的统一资源定位符uri(uniform resource identifier),以及url地址、文件名、文件路径等。超链(href)属于宏变量,即%vdata型性质的数据,常用“%href”表示。例如,下述例程中的超链接、文件路径及文件名、卡片名、图像的src属性文件名等均属于%href性质的数据:

<go href="http://wapforum.org/"/>

<go href="file:///d:\dir\file.wml"/>

<go href="app.wml"/>

<card onenterforward="#card2"/>

<img src="earth.wbmp"/>

(6) 布尔值(boolean)。用于表示“真(true)”或“假(false)”的逻辑值,常用“%boolean”表示。下例程序中就使用了%boolean型性质的数据:

<card newcontext="true"/>

<do optional="true" type="accept"/>

(7) 数值(number)。用于表示大于或等于零的整数,常用%number表示,属于nmtoken型的数据。例如,下例中的整数均属于%number型性质的数据:

<select tabindex="2"/>

<input name="setvar" size="4" maxlength="20" tabindex="3"/>

(8) 增强方式(emphasis)。这类性质的数据包含了wml编程中用于定义文本格式的各种标签,如<em>、<strong>、<b>、<i>、<u>、<big>、<small>等,常用“%emph”表示。这些标签可以定义文本以黑体、斜体、下划线等格式显示。下例中就包含了几个%emph型性质的数据:

<em>

an emphasized line.

<big>

a big and emphasized line.

</big>

</em>

wml核心数据类型
wml的核心数据类型均属于字符型数据,是根据xml的数据类型定义的,共有下述4种类型:

(1) cdata型。这种数据类型是wml用得最多的一种,可以是数字、字符串或包含数字的字符串。不过定义时,不论是数字或字符串,都必须以文本的形式定义,即数据用引号引起来。cdata型的数据仅用于属性值。例如"$(value)"或name="value"等。注意,这里的value指cdata型的数据值。

(2) pcdata型。这是从cdata中分解出来的一类数据,除了可以是文本形式的数字、字符串或两者的混合串外,还可以是wml的标签。pcdata型的数据只能用于wml的元素表示。例如,text written <big> in caps </big>一句中的<big>与</big>标签即属于pcdata型的数据。

(3) nmtoken型。这是一类特殊的数据,凡是包含或部分包含数字、字母及标点符号的数据均属于nmtoken型数据。这种数据可以用标点符号开头,但不用于定义变量名或元素名。例如,下述4个数据均属于nmtoken型:

"text"

_card1

a.name.token

.a-perfectly-valid.name.token

(4) id型。专门用于定义wml元素名称的数据类型。例如<card id="card1"/>中就使用id指定当前卡片的名称为card1。

在这4种类型中,cdata型用起来比较灵活,它可以使变量或数据免于语法检查。这是因为,cdata内的数据内容都会被当作文本来处理,从而可以避开wml的语法检查,直接作为文本显示出来。具体用法是,以“<! [cdata[”开头,“]]>”结尾,中间包含的数据均按cdata型处理。例如:

< ! [ cdata [ this is <b> a test ] ] >

其显示结果为:this is <b> a test。

<-- end newscontent -->


 

[] [返回上一页] [打 印] [收 藏]
下一篇文章:WAP的组成及主要特点
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登录
Copyright © 2002-2005 wapkf.com. All Rights Reserved .
浙ICP备06013604号|站长QQ:274273595