Chinaunix首页 | 论坛 | 博客
  • 博客访问: 866596
  • 博文数量: 215
  • 博客积分: 10062
  • 博客等级: 上将
  • 技术积分: 2235
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-01 13:21
文章分类

全部博文(215)

文章存档

2012年(1)

2011年(24)

2009年(16)

2008年(91)

2007年(83)

我的朋友

分类:

2008-03-31 15:39:44

  这个部分详细地说明了WML语言中各个标记的语法和使用方法。每个标记都有一个简单的例子供参考。

1.

    这是短格式的锚语法。使用代替,并且只用来定义隐含的、指定了URL的任务。

语法

title="label">
...any valid combination of ,
and elements

2.

    标签将一个格式化的文本和一个任务捆绑在一起。经常被称作超级链接,可以使用任何的文本或图标指定超级链接。当用户选择了超级链接,并且按下ACCEPT,设备就会执行该任务。

语法

task text 

    task 表示当用户激活超级链接以后所要执行的动作。text 是设备显示在屏幕上,用来代表超级链接的文本。
    task
必须指定下列任务中的一个:
    text
设备通常将这段文字与其他的文字区别开。例如使用方括号,或者使用下划线。
    title用来标识link的标签。如果不指定title属性,设备将使用“link”作为默认的属性。设备可以以不同的方式使用这个标签。例如,在用户选择的时候可以用来显示一个帮助工具条,或者一个语音提示。为了兼容所有的设备,label最好不要超过5个字符。

例子:


   
       


            Some links:

            news

            sports
       


   

3.

    标签用来指定WML页面的操作权限。必须在head内和其他的meta信息一起声明。每个页面只有一个标签。所有WML默认的权限是public。

语法


   
    ...
 

access的属性包括:

  • domain 可对WML页面进行操作的URL域。默认的是当前页面所在的域。
  • path可对WML页面进行操作的其他页面所在的根目录。默认的是“/”(当前页面所在的根目录)这就使得所有的在domain域下的页面都可以操作该页面。

4.

指定黑色字体文本。

语法

text 

    text 是需要使用黑体显示的文本。

例子:


   
       


            Press OK to go to the next screen.
       


   

5.

    指定大字体的文本

语法

text 

    text 是所需要以大字体显示的文本。

6.

   
标签用来指定换行。它将使得设备在新行上显示文本的图标。

语法


 

    注意:不像HTML所有的WML标签需要一个结尾标志“/”,因此在WML中插入一个新行是
,而不是

7.

    一个WML页面是由一个或多个卡片(card)组成。每个卡片都包含了一套用户和设备交互的操作。设备每次只能显示一个卡片——有些情况下会显示一系列的卡片。

语法


ordered="true" onenterforward="url" onenterbackward="url"
ontimer="url">
    content

 

    content 代表了所有WML卡片的定义和操作的一系列内容:一个timer元素(或者没有)、一个或多个onevent元素、一个或多个do元素、pre元素等一系列的导航信息,此外一个card元素还可以包含一个或多个p元素。
    重点:必须遵循以下顺序:
    除了以上列出的,设备将按照所指定的顺序显示元素。

card的属性包括:

  • id指定card的名字。

    名字是导航时候的依据,例如,可以指定cardname"/>来导航(参考)。

  • title为卡片指定一个简短的标题。

    各种设备对此有不同的用途。
    注意: 生产厂家将会显示title,如果那儿有比较充分的屏幕空间。title属性应该看作是对用户的一种提示,而不是卡片所显示的内容。

  • newcontext(Boolean类型)

    取值为true或者false,默认为false。当用户重新进入的时候 指定设备是否需要初始化卡片中所有的内容。当指定newcontext="true"那么所有的内容重新初始化,并清除历史记录。

  • ordered(Boolean类型)

    取值为true或者false,默认为true。它指定卡片内容的组织形式。ordered="true"将使得设备按固定的顺序显示内容。否则根据用户选择的顺序来显示内容。
    ordered属性可以指定设备在一个卡片中显示多个内容时候的顺序。true 将按线型方式显示(默认的值)。使用这个设置时,将只显示必须的属性。如果设备无法在一屏上显示所有的内容,那么它将分屏显示:

    • 指定了field组,有一个或多个
      (参见
      )。
    • 无效的fields(使用了文本前缀作为每个部分的提示)。

    false允许用户在各个部分之间进行任意的导航。使用这个设置,可以不必考虑他们之间的顺序。如果设备不能将所有的部分显示在屏幕上,那么它将会出现一个可供选择的卡片,用户可以导航到每一个部分(根据自己的意愿进行选择或者输入一个选择值)。

  • onenterforword(href类型)

    如果用户执行,那么就打开指定的URL地址。这个属性是的一个简短格式。

  • onenterbackword(href类型)

    如果用户执行,那么就打开指定的URL地址。这个属性是的一个简短格式。

  • ontimer(href类型)

    当timer过期的时候,就打开指定的URL。这个属性是的一个简短格式。

例子:



    
        
    

  


    Press OK to display the next screen.
  





 


    This screen displays the content of Card 2.
 



8.

    将用户的交互(例如功能键、声音提示等)和一个任务联系在一起。当用户激活这些功能的时候,设备就执行和相联系的任务。
    重点:已经扩展了功能:可以使用图标来作为label。这个功能可以通过嵌入来指定。

例如:


   
   OK
 

    如果手机支持img、localsrc、src和alt,就应该保持这种顺序。如果不支持,就由alt指定label。如果指定了,那么中的label就被忽略。如果没有指定,那么中的

语法


    task
 

task 代表将要执行的动作:

do元素必须绑定go、prev、noop、refresh任务中的一个任务。

do的属性包括:

  • type

    绑定特殊的用户交互事件
    可以指定以下的type属性:

    • accept激活ACCEPT(功能键,按钮等等)。
    • delete激活DELETE(功能键,按钮等等)。
    • help激活HELP(功能键,按钮等等)。
    • options激活OPTIONS(功能键,按钮等等)。 
    • prev通过激活PREV导航到另外一个卡片。
    • reset激活RESET(清除和重设当前的状态)。
    • unknown激活未知道的机制(相当于TYPE="")。
    • X-*, x-*  将来用(没有保留)。
    • vnd.co-type 激活供应商的一个特定的功能。

    如果type 隐含了特殊的用户交互机制。有些设备将功能映射成按键,有些则映射成上下文独立的操作。因此当设计用户交互的时候,要记住不能指定设备将要使用的特别操作机制。
    注意: 如果在一个中定义了多个拥有同样的type,那么必须为每个指定不同的name。

  • label

    label可以标识用户的交互事件。例如,如果将一个任务绑定在ACCEPT键上,那么设备就会将label的值显示在屏幕上,如果不指定,那么默认显示"OK"。为了保证屏幕有足够的宽度,label最多不超过5个字符。如果不支持动态的标签,设备将忽略label属性。

  • name

    指定的名字。如果卡片级别(定义在中)和页面级别(定义在