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性质的数据:
注意,本章给出的例程都或多或少地用到了wml的标签,这部分内容我们下一章介绍。如果在这里读者一时看不懂,可以先浏览下一章的内容,稍有感性认识后再学习这部分内容。
(2) 宏变量(vdata)。主要用于表示包含变量名的字符串,仅用于属性值。它属于cdata型数据,常用“%vdata”表示。例如,一句中的“$(showme)”就属于%vdata性质的数据。
(3) 文本(text)。用于表示包含一定格式的文本实体,属于pcdata型数据,常用“%text”表示。例如,下例中包含有运行时显示为普通格式的文本,以及加黑显示的文本:
a line with plain text.
a line with strong emphasis.
(4) 流(flow)、内行(inline)和布局(layout)。流(flow)用于表示“卡片级(card-level)”的信息,内行(inline)用于表示“文本级(text-level)”的信息,布局(layout)用于表示与文本布局有关的信息,如换行符等。
一般来说,内行型(%inline)的可能是文本型(%text),也可能是布局型(%layout)的,通常是程序中的纯文本或处理的变量;而流型(%flow)的则可能包括内行型(%inline)、图像(img)、锚(anchor)及表格(table)等卡片级的所有元素。有关“锚(anchor)”的概念我们后面会讲解的。比如,下面的例程中就有换行符、文本等性质的内容,也即数据。
an emphasized line.
a big and emphasized line.
a line with no text formatting.
(5) 超链(href)。主要用于表示相对的或绝对的统一资源定位符uri(uniform resource identifier),以及url地址、文件名、文件路径等。超链(href)属于宏变量,即%vdata型性质的数据,常用“%href”表示。例如,下述例程中的超链接、文件路径及文件名、卡片名、图像的src属性文件名等均属于%href性质的数据:
(6) 布尔值(boolean)。用于表示“真(true)”或“假(false)”的逻辑值,常用“%boolean”表示。下例程序中就使用了%boolean型性质的数据:
(7) 数值(number)。用于表示大于或等于零的整数,常用%number表示,属于nmtoken型的数据。例如,下例中的整数均属于%number型性质的数据:
(8) 增强方式(emphasis)。这类性质的数据包含了wml编程中用于定义文本格式的各种标签,如、、、、、、等,常用“%emph”表示。这些标签可以定义文本以黑体、斜体、下划线等格式显示。下例中就包含了几个%emph型性质的数据:
an emphasized line.
a big and emphasized line.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-125157/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10294527/viewspace-125157/