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>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器