WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章WAP教程WAP教程第二章 WML语言基础

第二章 WML语言基础
作者:佚名  来源:本站整理  发布时间:2005-7-13 8:54:52
及尾标签组成。不包含内容的元素成为空元素。它为一个单独的标签。或者说,单独的标签也是一种元素。
  5)属性。wml与xml一样,其标签可以包含很多属性。属性用于给标签提供必要的附加信息,且属性内容通常在起始标签内使用。不过,属性内容不会被浏览器显示,它至作为参数为标签提供必要的信息。
  指明属性值的时候,需要把该值用引号扩起来,可以是单引号或者双引号,引号通常成对嵌套使用。属性名称必须小写。例如:<card id="card 1" ontimer="#card2" title="toolkit demo">
  而且,单引号的属性中还可以包含双引号的属性。实体字符也可以作为属性值。实体字符是指诸如&、<、>、'、"的特殊字符,在wml程序中显示着类字符需要特殊处理,后面我们介绍具体方法。
  6)注释。wml程序中也可以加入注释。注释内容用于给开发人员顺利阅读源代码提供方便,它不会被浏览器显示出来。注释内容在标签中用感叹号(!)引出,并用于<!--注释内容-->的形式。例如:<!-- write your card implementation here.-->。需要说明的是,xml程序中不支持注释的嵌套。
  7)文档结构。wml文档是由“卡片(card)”和“卡片组(deck)”构成的,一个deck是一个或多个card的集合。当客户端发出请求之后,wml即从网络上把deck发送到客户浏览器,这是用户就可以浏览deck内包含的所有card,而不必从网上单独下载每一个card,程序中的第一个card是缺省得可见的card。
  注意:deck是一副纸牌的意思,这里是指一叠卡片,所以我们在这里称之为它为“卡片组”。另外,card指的是wap手机屏幕大小的网页,尽管有时一个card可能需要多屏才能显示完,但我们也可以把它翻译成“页面”,不过这样与html中的页面容易混合。因此我们在这里称之为卡片。
  2.2.3 wml程序的基本结构
  以上我们简单分析了wml的程序结构及组成,由此大家可以对wml程序有个整体上的初步认识。下面我们给出wml程序的基本结构。
  <?xml version="1.0"?>  <!doctype wml public "-//wapforum//dtd wml 1.1//en" "http://www.wapforum.org/dtd/wml_1.1xml">
  <wml>
  <head>
  <access/>
  <meta..../>
  </head>
  <card>
  some contents...
  </card>
  <wml>

  该基本结构可以分为以下几个关键部分:
  1)声明。wml程序有许多deck组成,对于每一个deck,在其文档开头必须进行xml的声明和文档类型doctype的声明。
  xml声明总是在文件的第一行,注意前面最好不要有空格或者还行:
  <?xml version="1.0"?>
  2)紧跟着是doctype声明,注意声明是字母的大小写不要搞错:
  <!doctype wml public "-//wapforum//dtd wml 1.1//en" "http://www.wapforum.org/dtd/wml_1.1xml">
  3)<xml>标签。该标签用于包含和定义wml的一个deck。它有一个可选的xml:lang属性来制定文档的语言,比如<wml xml:lang="zh">表示文档语言为中文。
  4)<head>标签。该标签用于包含和定义deck的相关信息。<head>标签之间可以包含一个<access>标签和多个<meta>标签。
  5)<access/>标签。它的一般形式是<access domain="域" path="/路径"/>,主要用于制定当前deck的访问控制信息,有两个可选的属性。其中,domain用来制定域,默认值为当前域,path用来制定路径,默认值为“/”,即跟目录。由于<access>单独使用,所以要用“/”结尾,后面我们还会系统的讲解wml的各种标签,这里即使看不懂也没关系,主要有些感性的认识就可以了。
  6)<meta...>标签。它的一般形式是<meta 属性content="值" scheme"格式" forua="true|false"/>,用于提供当前deck的meta信息,包括内存数据处理方式,以及数据传输方式和处理方式等。有关该标签的详细内容我们后面会专门给出。
  7)<card>标签。一个deck可以包含多个card,每个card的内容可能不止一屏显示。对于每一个card,wml均使用<card>和</card>进行包含和定义。<card>同时可以包含多个可选的属性,如<card id="name" title="label" newcontext="false" ordered="true" onenterforwand="url" pmemterbackward="url" ontimer="url">。至于这些属性的具体含义及功能,我们将在后面介绍。
  2.3 wml语言的基本知识
  上一节我们介绍了wml程序的基本结构,接下来我们介绍wml语言的基本知识,主要包括wml的字符集、变量、数据类型及wml程序的基本组成部分等。
  2.3.1 wml的字符集及编码
  wml使用xml的字符集,即通用字符集iso/iec-1062.,也即统一字符编码标准unicode 2.0。同时,wml还支持其他系列的字符集子集,例如utf-8、iso-8859-1或ucs-2等。其中:
  utf-8是指通用字符集ucs(universal character set)的转换格式8(transformation format 8),主要传输国际字符集的转换编码。utf-8采用了ucs字符的8位编码,提供了十分安全的编码格式,可以有效避免数据传输过程中的窃听、截取及非法解密。同时,utf-8与7位acsii码完全兼容,不会影响此类编码实现的程序;它的编码规则十分严格,能够有效避免同步传输错误,而且还会支持其它字符集提供了足够的空间。
  iso-8859-1字符集是国际标准化组织iso(international standardization organization)制定的acsii字符集的扩展集,能够表示所有西欧语言的字符。与iso latin-1一样,iso-8859-1与windows环境中普遍使用的美国国家标准协会ansi(american national standards institute)的字符集极为类似,绝大多数情况下无需区分。在不特别指明的情况下,http协议均使用isolatin-1字符集。因此,为了wml页面中表示非acsii(non-acsii)字符,开发人员需要使用相应的iso latin-1编码的字符。
  ucs-2是iso 1062.标准中自定义的通用多8位编码字符集(universal multiple-octer coded character set)的2字节(即16位)编码标准,其字符编码值与unicode字符的标准编码值相等。
  wml文档可以采用html 2.0规范所定义的任何字符编码标准经编码处理。一般说来,wml文档的字符编码是需要转换为另外的编码格式,以与wap用户的手机浏览器所用字符标准相适应,否则,手机浏览器就无法显示wml页面中的字符。然而,编码转换时可能会丢失一些字符信息,所以,如果在用户端进行wml文档的编码转换,那么就可能导致某些结果信息丢失而不能被用户所浏览。因此,如有必要,我们应当尽量在wml页面传送到用户浏览器之前完成编码转换。
 

上一页  [1] [2] [3] [4]  下一页

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码