什么是WAP?
无线产业提出了WAP的概念。这个标准的作用是在像手机这样的无线用户端口上显示英特网上的内容。
WAP是Wireless Application Protocol(无线应用程序协议)的缩写
WAP是一份应用程序通信协议
WAP用于访问服务和信息
WAP是从英特网标准中衍生出来的
WAP用于像手机这样的掌上部件
WAP是为微型浏览器设计的协议
devices. WAP可以为移动部件创编网页应用程序
WAP用标记语言WML(不是HTML)
WML定义为一份XML 1.0应用程序
--------------------------------------------------------------------------------
无线应用程序协议
WAP协议是用于像数字手机这样的无线终端上的信息服务方面的最主要标准。
WAP标准是以英特网标准为基础的(如HTML, XML 和TCP/IP). 它由WML语言规范,WMLScript(WML脚本)规范,无线电话应用程序界面规范三项构成的。
WAP由WAP论坛公布,WAP论坛是由Ericsson, Motorola, Nokia, 和Unwired Planet.公司于1997年成立的。论坛成员现在覆盖了全球手机市场的90%以上 ,还有领头的下游组件提供商,软件开发商和其它组织机构。
--------------------------------------------------------------------------------
WAP微型浏览器
为了适合小型无线终端口,WAP使用微型浏览器
Micro Browser是对硬件,内存和CPU要求很低的小软件。它可以显示以名叫WML的一种有限标记语言形式写成的信息
Micro Browser也可以对名为WMLScript.的JavaScript简化版本进行解释说明
--------------------------------------------------------------------------------
什么是WML?
WML stands for Wireless Markup Language. It is a mark-up language inherited from HTML, but WML is based on XML, so it is much stricter than HTML.
WML是Wireless Markup Language(无线标记语言)的缩写。它是从HTML衍生出的语言,但WML是以XML为基础的,所以它比HTML更严格。
WML用于创建可以在一个WAP浏览器上显示的页面。WML中的页面称为“一幅card”。“一幅card”是由“一组card”构成的。
--------------------------------------------------------------------------------
什么是WMLScript?
WML用WMLScript在用户端上运行简单的代码,. WMLScript是浅显的JavaScript语言。但是,WML脚本程序并不植入于 WML 页面里。WML页面只包含描述URL的参考。WML脚本在 WAP浏览器上运行之前,必须在服务器上被编译为字节代码。
--------------------------------------------------------------------------------
WAP主页
WAP主页与HTML主页并没有太大不同。WAP用的标记语言是WML(无线标记语言)WML使用标签——就像HTML一样-——但WAP的语法更严格并且遵守XML 1.0标准
WML页面有扩展名*.WML,就像HTML页面用扩展名*.HTML.
--------------------------------------------------------------------------------
WML标签
WML大部分是有关文本的 。会减缓与掌上部件通信的标签不是WML标准的一部分。表格和图像的使用是非常受到限制的。
因为WML是XML应用程序,所有的标签都是区分大小写的(<wml> 和 <WML>是不一样的),而且所有的标签必须合理地结尾
--------------------------------------------------------------------------------
WML Decks and Cards
WML页面被称为DECKS(一幅card)。它们由CARDS(一组card)构成,互相以链接相连。当在手机上访问一个WML页面时,页面所有的card都已从WAP服务器上下载下来了。在card与card之间的转换是由手机内置的手机计算机完成的,这无须访问服务器。
--------------------------------------------------------------------------------
WML文档例子:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="HTML" title="12像素">
<p>
这里是十二像素
</p>
</card>
<card id="XML" title="XML Tutorial">
<p>
这个只是一个简单的wml的例子。
</p>
</card>
</wml>
特别:使用opera可以测试wml。
就如上述例子中所见,WML文档是一份XML文档。文档类型会定义为wml,DTD可以在这找到:www.wapforum.org/DTD/wml_1.1.xml.
文档内容包含在<wml>...</wml>标签里。文档中的每张“card”都在<card>...</card>标签里,当前的段落都在<p>...</p>标签里。每张card元素都有一个ID和一个标题
WML 格式化
WML页面常常叫做"decks"(一幅card).一副card包含了一组“card”。card (“card”)元素可以包含文本,标记,链接,输入区域,任务,图像等等。“cardcard”之间以链接相连。
在手机上访问WML页面时,页面里所有的卡都从WAP服务器上下载下了。Card和card之间的转换是通过手机内置的手机计算机完成的,无须经过服务器。
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="no1" title="Card 1">
<p>Hello World!</p>
</card>
<card id="no2" title="Card 2">
<p>Welcome to our WAP Tutorial!</p>
</card></wml>
手机显示的结果也许会是这样(注意一次只显示一张card):
------ Card 1 ------
Hello World!
--------------------------------------------------------------------------------
段落和行分隔符(Paragraphs and Line Breaks)
WML的“card“可设置来显示WML的段落和行分隔符函数:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Paragraphs"> <p>
This is a paragraph
</p>
<p>
This is another<br/>with a line break
</p></card>
</wml>
The result MIGHT look like this in your mobile phone display:
手机显示的结果也许会使这样:
------ Paragraphs ------
This is a paragraph
This is another
with a line break
--------------------------------------------------------------------------------
文本格式化
WMLcard可通过设置显示WML的文本格式化函数
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Formatting">
<p>
normal<br/>
<em>emphasized</em><br/>
<strong>strong</strong><br/>
<b>bold</b><br/>
<i>italic</i><br/>
<u>underline</u><br/>
<big>big</big><br/>
<small>small</small>
</p>
</card>
</wml>
手机显示的结果也许会是这样(不要认为所有的格式化标记会像预期的那样呈现出来)
----- Formatting -----
normal
emphasized
strong
bold
italic
underline
big
small
--------------------------------------------------------------------------------
Tables
表格
WMLcard可通过设置显示WML的表格函数
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Table"><p>
<table columns="3">
<tr>
<td>Cell 1</td>
<td>Cell 2</td>
<td>Cell 3</td>
</tr>
</table>
</p></card>
</wml>
手机显示的结果也许会是这样
------ Table ------
Cell 1 Cell 2 Cell 3
链接
WML的card可被设置来显示WML的anchor函数
<anchor>
锚记
标记总是带有指定的任务("go"向后, "prev"向前, 或 "refresh"刷新)。任务定义了当用户选择链接时该做些什么。
在这个例子里,当用户选择"Next page"(下页)链接时,
任务是“到文件test.wml":
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Anchor Tag"><p><anchor>Next page<go href="test.wml"/> </anchor></p></card></wml>
<a>
The <a> tag always performs a "go" task, with no variables.
The example below does the same as the <anchor> tag example:
<a>标记经常执行一个"go"任务,但没有变量。下面的例子和<anchor>标记例子所做的一样:
<?xml version="1.0"?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="A Tag"><p><a href="test.wml">Next page</a></p></card></wml>
--------------------------------------------------------------------------------
Image
图像
A WML card can be set up to display an image:
WMLcard可被设置显示图像:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Image">
<p>This is an image<img src="/images/stickman.wbmp" alt="stickman" />in a paragraph</p>
</card>
</wml>
注意:.wbmp类型是能在WAP浏览器中被显示的唯一一种图像类型。
Input Fields
输入区域
一张WMLcard可以进行设置,使用户可以输入信息,就像下面例子中示范的那样:
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card title="Input"> <p> Name: <input name="Name" size="15"/><br/> Age: <input name="Age" size="15" format="*N"/><br/> Sex: <input name="Sex" size="15"/> </p> </card> </wml> |
手机里显示的结果可能会像这样:
Select and Option
选择和选项
WMLcard,可以通过设置显示WML的选择和选项函数。
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card title="Selectable List 1"> <p> <select> <option value="htm">HTML Tutorial</option> <option value="xml">XML Tutorial</option> <option value="wap">WAP Tutorial</option> </select> </p> </card> </wml> |
手机里显示的结果可能会像这样:
下面例子里,结果是用户可以从中选择一项或多项的选择列表。
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card title="Selectable List 2"> <p> <select multiple="true"> <option value="htm">HTML Tutorial</option> <option value="xml">XML Tutorial</option> <option value="wap">WAP Tutorial</option> </select> </p> </card> </wml> |
手机里显示的结果可能会像这样:
Fieldset
区域设置
WMLcard,可以通过设置显示区域设置函数。
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card title="Fieldset"> <p> <fieldset title="CD Info"> Title: <input name="title" type="text"/><br/> Prize: <input name="prize" type="text"/> </fieldset> </p> </card> </wml> |
手机里显示的结果可能会像这样: