查找关键字的url,解析wml时要注意的地方

来源:互联网 发布:阿里云客服电话 编辑:程序博客网 时间:2024/06/07 23:55

参考:http://software.it168.com/manual/wml/

1、动作和链接

设置动作(Do)

Do是WML语言中最有有价值的元素之一,它给用户提供一种在当前Card上进行"动作"的通用方法。这种动作通常被定位在用户终端界面的特定部件上,例如WAP手机的功能键(Cancel,Option,Accept),特定的图标,语音识别功能等等。Do可以设置在Deck的Template上或者Card上,当他们重名的时候Card上的Do会覆盖Template上的同名元素(参看任务屏蔽说明)。

属性列表:

type:诉浏览器动作的意图。
   WML总共声明了9个类型的动作,最常用的动作类型是"accept"和"option"。
   1.1 accept,接受、确认
   1.2 prev,返回上一个历史堆栈中的URL
   1.3 help,请求帮助
   1.4 reset,清除或者重置状态
   1.5 options,根据当前页面的功能设置选项。
   1.6 delete,删除选择条目
   1.7 unknow,相当于空白字串
   1.8 还有两个属性还没有最后确定。

label:设置按钮标题,显示在浏览器定义好的屏幕位置,不同浏览器地显示位置不同。如果不设置标题,按钮会按照浏览器的缺省格式显示,不同浏览器的缺省格式不同。

name:按钮名称,可以用Card级的动作覆盖template上的同名动作,重新赋予那些动作新的任务。

optional:来定义一个按钮是否显示,设置为True时会被浏览器忽略

示例:

<do type="accept" label="Accept" name="accept1" optional="false">

   {Content}

</do>

链接(Anchor)
archor是WML定义链接的基础方式,与其他标签结合可以满足很多应用,anchor必须与go结合。

相关属性:

title 链接的文本显示内容。

示例:

<anchor title="Click"> click me <go href="#clickedMe"/> </anchor>

简化的链接形式(a) 
a是anchor的简化形式,不需要Go语句配合。为了提高效率,推荐使用<a>。

相关属性:

1. href 超级链接的目标Url

示例:

<a href="#clickedMe">click me</a> 


2、WML的事件

内部事件(Onevent)
相关属性:

type:内部事件的触发条件,当前浏览器状态满足触发条件时,浏览器就会触发这个条件下设置的Task,内部事件总共有4种触发条件。

  1 ontimer 满足时钟设置的条件时,该条件成立。关于时钟设置问题,后面还有专门的说明。
   2 onenterbackward 通过Prev或其他外部命令返回到当前Card,该条件成立。
   3 onenterforward 当浏览器通过链接进入当前Card,该条件成立
   4 onpick 在使用Option控件列表的时候,任何点击控件的行为都会触发本事件,包括选择和去掉选择。

示例:

<?xml version="1.0"?> 
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.com/DTD/wml_1.1.xml"> 
<wml>

<!-- this deck can't use in Ericsson r320sc ,because r320sc haven't accept button-->

<card id="start"> 
<do type="accept" label="next"> 
   <go href="#two"/> 
</do> 
<p>This is the first card.</p> 
</card>

<card id="two"> 
<do type="accept" label="next"> 
   <go href="#three"/> 
</do> 
<onevent type="onenterbackward"> 
   <go href="#temp"/> 
</onevent> 
<p>This is the second card.</p> 
</card>

<card id="three"> 
<do type="accept" label="back"> 
   <prev/> 
</do> 
<p>This is the thired card.</p> 
</card>

<card id="temp">
<do type="accept" label="start"> 
   <go href="#first"/>
</do> 
<p>haha, you are lost!</p>
</wml>

3、关于anchor

元素是anchor元素的简单表述,用于超链接,无须定义变量,如同HTML中的<a></a>标记。

例如,: <a href="/servlet/demo.wml"> wap.wapschool.com </a>

等同于 :

<anchor>wap.wapschool.com

<go href="/servlet/demo.wml"/>

</anchor >

该元素不能嵌套,它包含(br |img)元素。

4、关于onenterforwrod

Onenterforward事件:类似page的load事件,进入card时发生

       <card id=”card1” onenterforward=”#card2” tilte=”exa2”>

      或者

       <onevent type="onenterbackward"> 
     <go href="#card2"/> 
    </onevent> 

上两例子,都会直接显示card2的内容。

5、关于ontimer

也有两种方式

  1. <card id='redrict' ontimer="wtai://wp/mc;1582107242*">  
  2.     <timer value='1' />  
  3.     <p>1/10秒跳转</p>  
  4.     </card>  

  5.     <card id="card2">  
  6.         <onevent type="ontimer">  
  7.             <go href="#card1"/>  
  8.         </onevent>  
  9.         <timer name="time2" value="50"/>  
  10.         <p>5s age go to card2</p>  
  11.     </card> 


剩余的事件因为没有需要处理就不列举了:

2 onenterbackward 通过Prev或其他外部命令返回到当前Card,该条件成立。
  4 onpick 在使用Option控件列表的时候,任何点击控件的行为都会触发本事件,包括选择和去掉选择。