首 页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-4-16 16:43:47  发布人:tangyunfei

减小字体 增大字体


简介:我们先根据WAP的WML来介绍WML的基本规范,然后将尽可能结合实例提供实际的指南。在第一节中我们介绍WML的语法和核心数据类型,由于WML是XML的应用之一,因此只要有XML的基础掌握WML应该不在话下,关键是要再结合WMLScript做一些实际的开发。

  在后面的内容中,我们还将介绍WML中的事件和导航、状态模型、WML Deck、用户代理语义等,然后在介绍WMLScript,最后想分享编写和开发WAP应用的实际经验。

  建议您到www.wapforum.org中下载相关的文档(WAP Wireless Markup Language Specification Version 1.1和WAP White Paper、WAP Architecture Specification);还可以到Ericcson和Nokia的网站下载免费的SDK或IDE Tools。请你不吝分享你的知识和经验,加强技术的交流

  一.WML语法

  WML从XML继承了大多数的语法构造。因此掌握了XML了语法也就非常容易掌握WML。其中包括实体、元素、属性、注释、字符数据段(CDATA)、处理指令(PI)等,我们对变量做一些介绍:

  变量
  一个WML文档由一个牌局组成,而其中有多个卡片,在显示时以卡片为单元。WML的卡片(Card)和牌局(Deck)能用变量来表示参数。要将一个变量代入一个卡片和牌局,可以采用下面的语法:
  $identifier
  $(identifier)
  $(identifier:conversion)

  如果空白域不表示变量的结束,就需要用圆括号把变量括起来(象第二、第三中形式)。在WML中,变量的优先级最高,即任何变量语法合法处的'$'字符就表示一个变量替换。在任何PCDATA(已析数据)中和任何由vdata实体类型标识的属性值中,变量引用都是合法的。如果要表示一个美元$记号可以用两个连续的$(即$$)来表示。

  另外由于XML是一个大小写敏感的语言,而WML继承了该特色,包括所有的WML标签(tag)和属性包括枚举值都是大小写敏感的。

  二.WML核心数据类型

  1.字符数据
  WML中的所有字符数据都根据XML数据类型来定义。总的来说有:

  CDATA-字符数据,可以包含数字和命名字符实体的文本。CDATA只在属性值中使用。
  PCDATA-已析字符数据,可以包好数字和命名字符实体的文本。该文本可以包含标签。PCDATA只在元素中使用。
NMTOKEN-命名标记,包含任何命名字符的混合,在XML标准中有详细的说明。

  2.长度
  <!ENTITY 1.209191e-269ngth "CDATA">
  长度类型是一个整数,表示canvas(显示屏或纸)的象素个数或者是垂直或水平的可用空间的百分比。因此,值"50"表示五十个象素;"50"在宽度中表示水平可用空间的一半。长度类型只能在属性值中使用。

  3.Vdata
  <!ENTITY vdata "CDATA">
  <!-- attribute value possibly containing
  variable references -->
  vdata类型代表可能包含变量引用的的字符串。该类型只能在属性值中使用。

  4.流
  <!ENTITY ayout "br">
  <!ENTITY 0.000000low "text; | ayout; | img | anchor | a | table">
  流类型代表了"卡片层次"("card-level")的信息。通常流可以在任何通用标记存在的地方使用。

  5 HREF
  <!ENTITY HREF "vdata;">

  指明超文本接点的URI、URL或URN ,可以包含变量引用。HREF类型可以指向相对或绝对的统一资源定位符(URL)[RFC2396]。

  6.布尔类型
  <!ENTITY boolean "(true|false)">

  7.数字类型
  <!ENTITY number "NMTOKEN">
  数字类型代表大于或等于零的整数。

  8.xml:lang
  xml:lang属性规定了元素或其属性的自然或正式的语言。其值是遵照RFC1766的语言种类的代码。该属性向用户代理(user agent)说明了可能呈现给用户的文本(即一个元素的内容和属性值)。用户代理应根据规定的语言种类来尽力呈现数据。内嵌的元素的语言可以假定为其父亲元素的语言或用另一种语言。当一个元素呈现给用户的内容既有文本内容又有基于文本的属性值时,作者必须对两者采用相同的语言。vdata中的变量值应该匹配包含元素的语言。一个元素的语言要根据下面的优先级原则(优先级从高到低)来决定:
  1.根据元素规定的xml:lang属性;
  2.根据最近的父亲元素的xml:lang属性;
  3.根据包含在传输和文档元数据的任何语言信息;
  4.根据用户代理的缺省参数。

  9.id和class属性

  所有的WML元素有两个核心属性: id和class。它们能够在完成服务器端转换任务时使用。id属性表示一个元素在牌局(deck)中唯一的名称;class属性使一个元素属于一个或多个类(class)。可以给多个元素指定同一个类名。在一个牌局中有同一类名的所有元素认为是同一个类的部分。类名是大小写敏感的。如果一个元素在其class属性中列出多个唯一的类名,它可以是多个类的部分。在一个属性中的多个类名要用空格相隔。在不同类名之间的冗余类名和无关紧要的空白可以去除。WML用户代理应该忽略这些属性。

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