10.3.3 HDML页面文件的结构
我们通过一个简单的实例,说明HDML页面文件的基本结构。例程如下:
Content-type: text/x-hdml; charset=GB2312
<HDML VERSION="4.0">
<DISPLAY name="card1">
<center>This is a test.<br>1234567890<<tab>1234567890<line>xxxxx
</DISPLAY>
</HDML>
程序解释如下:
(1) 第1行的Content-type一句用于指定当前HDML页面采用的字符集,类似于普通Web页面内的<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,不同的是HDML页面中这一行需要写在程序的开头部分。
(2) 第2行<HDML>标签类似于HTML的<HTML>标签,它不仅说明该文件是HDML文件,而且重要的是指明成对的<HDML>和</HDML>标签之间是浏览器与Web服务器连接一次所传递的信息,相当于普通浏览器的页面,在WAP页面中称为卡片组(DECK),其组成单位是一个一个的卡片(CARD)。
这里的<HDML>标签还含有1个属性,即VERSION,它用于指明当前所用HDML语言的版本,以供浏览器解释时参考。VERSION="4.0"表明这里采用的HDML是4.0版本的。
HDML各标签属性的值需要使用双引号(" ")或单引号(' ')括起来。如果属性值里包含保留字符或特殊字符则需要使用转义序列来表示。HDML的标签虽然不多,但属性很多,所以开发时应根据需要,选择使用恰当的属性值。
(3) 第3行<DISPLAY>标签可以看作HTML里的<BODY>,它用于指明HDML页面的可视内容。和HTML不同的是,WAP页面的一个卡片组(DECK)可以包含多个卡片(CARD),所以HDML规定每个卡片用成对的<DISPLAY>和</DISPLAY>标签包括起来,而HTML只有一个<BODY>即一个页面。这种规定是因为充分考虑到手机等无线设备的浏览器屏幕比较小,一次不可能显示太多的信息。这样,WAP服务器与浏览器之间的一次连接所传递的数据虽然是一个HDML文件,但它实际是一个卡片组,包含有多个页,所以仍然可以向用户展示所需的、足够多的信息。
HDML卡片的类型有3种:纯文本及图形显示、选单(相当于HTML的FORM)、不显示内容的action动作。
这里的<DISPLAY>标签还含有1个参数,即name,它用于指明当前HDML页面即卡片的名称为“card1”。
(4) 第4行是当前卡片显示的内容,如果一屏显示不下,浏览器屏幕上会出现提示。具体提示符号因手机类型的不同而不同,可能是大于号( > ),也可能是竖线( | )。
