`

XHTML MP 基础(手机网站开发基础技术 一)

    博客分类:
  • wap
阅读更多
  1. 原文链接(英文):http://www.developershome.com/wap/xhtmlmp/
  2. 同时推荐的文章(英文)http://mobiforge.com/starting/story/a-beginners-guide-mobile-web-development
  3. 更多关于WAP CSS的信息请访问:http://www.developershome.com/wap/wcss/
  4. 当你阅读完本文后肯定想看看一个完整的手机静态网站的实例吧!下面的链接可以下载到你需要的实例:
  5. http://mobiforge.com/starting/story/site-templates
  6. 一:XHTML MP的语法规则
  7. 我们知道,我们通常用电脑访问的网站的网页是用html构建的。类似的,现在WAP 2.0网站是用XHTML MP
  8. 构建,以供手持设备的访问,如手机、PDA等。
  9. XHTML MP是XHTML的子集,因此继承了它的语法。
  10. XHTML是更严格和简洁的HTML版本。现在来看看XHTML MP的语法规则:
  11. 1:标签必须正确闭合!
  12. <p>XHTML MP 教程 段落 1</p>
  13. <p>XHTML MP tutorial paragraph 2</p>
  14. <p>XHTML MP tutorial paragraph 3</p>
  15. 有些标签是不含内容的(开始标签和结束标签之间的东东,如上面的XHTML MP tutorial paragraph 1),
  16. 就必须用这种形式:Line break<br/>。请注意一定要加上 斜杠
  17. 2:标签和属性都必须是用小写
  18. 正确的写法:
  19. <p id="p1">XHTML MP tutorial paragraph 1</p>
  20. <p id="p2">XHTML MP tutorial paragraph 2</p>
  21. <p id="p3">XHTML MP tutorial paragraph 3</p>
  22. 3:属性的值必须放置在双引号内
  23. <p id="p1">XHTML MP tutorial paragraph 1</p>
  24. 4:不支持属性简写
  25. 在html中,如下写法是正确的:
  26. <input type="checkbox" checked />
  27. 而xhtml中必须这样写:
  28. <input type="checkbox" checked="checked" />
  29. 下面再举一个例子:
  30. <select multiple="multiple">
  31. <option>XHTML MP Tutorial Part 1</option>
  32. <option selected="selected">XHTML MP Tutorial Part 2</option>
  33. <option>XHTML MP Tutorial Part 3</option>
  34. </select>
  35. 5:标签的嵌套必须正确
  36. 不支持标签的重叠,所以下面的写法是错误的!
  37. <p><b>XHTML MP tutorial paragraph 1</p></b>
  38. 应该这样子写:
  39. <p><b>XHTML MP tutorial paragraph 1</b></p>
  40. 二:XHTML MP的 MIME类型 和 文件扩展名
  41. XHTML MP支持下面三种MIME类型
  42. 1.  application/vnd.wap.xhtml+xml
  43. 2.  application/xhtml+xml
  44. 3.  text/html
  45. 第一种类型是一些wap浏览器所需要的(如某些诺基亚S60浏览器),以便正确显示XHTML MP文档。
  46. 第二种是XHTML系列文档的类型
  47. 第三种是HTML文档的类型。这样用IE6就可以正常浏览这些文档,而如果遇到上面的两种类型就会弹出一个对话框
  48. 让你保存这些文档。
  49. 动态选择MIME类型
  50. 比如服务器端判断某个客户端请求可以处理application/vnd.wap.xhtml+xml MIME类型,那所有的XHTML MP文档就
  51. 都使用application/vnd.wap.xhtml+xml MIME类型发送给客户端。
  52. 要实现这个就必须通过服务器端编程,获取客户端HTTP请求的Header值,这里面的值包含客户端可以处理的所有MIME类型。
  53. 如果支持就设置XHTML MP的MIME类型为application/vnd.wap.xhtml+xml,如果支持其它的,就设置成其它的。
  54. 下面的例子是JSP的,但是你如果使用其它技术的话,原理是一样的,代码也是大同小异!
  55. <%
  56. String acceptHeader = request.getHeader("accept");
  57. if (acceptHeader.indexOf("application/vnd.wap.xhtml+xml") != -1)
  58. response.setContentType("application/vnd.wap.xhtml+xml");
  59. else if (acceptHeader.indexOf("application/xhtml+xml") != -1)
  60. response.setContentType("application/xhtml+xml");
  61. else
  62. response.setContentType("text/html");
  63. %>
  64. 这里的代码很简单,我就不多加解释了!
  65. 文件的扩展名
  66. 静态XHTML MP文档的典型扩展名包括:.xhtml、.html和.htm。当然,你也可以使用其它扩展名,只要你在
  67. WAP 服务配置文件里面设置清楚就OK了。如果你要使用服务器端技术(如JSP、PHP、ASP、SSI等),你就必须
  68. 使用相应的扩展名,如PHP使用.php,SSI使用.shtml。
  69. 三:XHTML MP文档结构
  70. 第一个例子    一个典型的XHTML MP文档结构
  71. <?xml version="1.0"?>
  72. <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
  73. <html xmlns="http://www.w3.org/1999/xhtml">
  74. <head>
  75. <title>XHTML MP Tutorial</title>
  76. </head>
  77. <body>
  78. <p>Hello world. Welcome to our XHTML MP tutorial.</p>
  79. </body>
  80. </html>
  81. 讲解:
  82. <?xml version="1.0"?>
  83. <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
  84. 前面的预声明不是XHTML MP元素的一部分,所以不必遵守XHTML MP的约定。
  85. 剩下的内容和普通的html没有什么不同了。
  86. 记住:XHTML MP必须包含<html><head><title>, 和 <body>元素。
  87. 四:XML声明和字符编码
  88. <?xml version="1.0" encoding="UTF-8"?>
  89. 所有的XHTML MP文档都是XML文档,因此开始都会有一个XML声明。这里也可以指定文档的字符编码。
  90. 如果文档的字符编码是UTF-8 or UTF-16的话,其实可以省略掉。
  91. 虽然这个XML声明是可以省略的,但是我们不建议这么做,因此这样可能导致某些索爱的WAP浏览器产生错误。
  92. 五:DOCTYPE声明
  93. 这个<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
  94. 声明是必须的。这个声明规定了DTD名称和URL。这个DTD包含标记语言的语法信息,可供验证工具验证你写的XHTML MP文档的语法正确性。
  95. 这些验证工具集成在很多IDE中了。
  96. 六:各标记简析
  97. <html>是XHTML MP的根标记。目前,该标记的xmlns属性只能是http://www.w3.org/1999/xhtml这个值,这个用来保证
  98. 严格遵守XHTML MP标准。但是即使缺失了这个标记,大部分浏览器还是能正常显示页面。
  99. <head>标记用来存放关于文档本身的信息。比如<title><link>,还有<meta>,这几个标记的功能和在传统的html里面的功能是一样的!
  100. 这里不再废话了。
  101. 还有<body>标记也不重复解释了。
  102. <p>标记的text-align属性已经被取消了,你可以在css中定义实现这个功能,如:
  103. p {
  104. text-align: right
  105. }
  106. 七:XHTML MP 的 Metadata
  107. 先看下面的例子:
  108. <head>
  109. <title>XHTML MP Tutorial</title>
  110. <meta name="author" content="Andrew"/>
  111. </head>
  112. WAP浏览器会自动忽略你自定义的meta属性(它不会显示在你的页面中),如这里的name,这并不会对你的页面的界面有任何影响。
  113. 八:XHTML MP的缓存控制
  114. 这里的缓存就是客户端用来临时存储XHTML文档的空间,如果浏览器发现缓存里面有这个页面了而且没有过期,那它就
  115. 直接显示这个页面,而不需要再次联网下载,这样节省了时间。
  116. 当然,你可以禁止缓存,你可以这样做:
  117. <head>
  118. <title>XHTML MP Tutorial</title>
  119. <meta http-equiv="Cache-Control"  content="no-cache"/>
  120. </head>
  121. 上面的也可以这样写:<meta http-equiv="Cache-Control" content="max-age=0"/>
  122. 如果你要设置缓存时间是300秒的话,可以这么做:
  123. <head>
  124. <title>XHTML MP Tutorial</title>
  125. <meta http-equiv="Cache-Control" content="max-age=300"/>
  126. </head>
  127. 还要注意的一点是,上面的设置和所用的设备是有关系的。有些wap浏览器是没有缓存的,所以你设置了也未必能起到作用。
  128. 面对这种情况,更好的方法是通过服务器端编程技术设置HTTP header和HTTP response。
  129. 九:XHTML MP的定时刷新
  130. <head>
  131. <title>XHTML MP Tutorial</title>
  132. <meta http-equiv="Cache-Control" content="no-cache"/>
  133. <meta http-equiv="refresh" content="15"/>
  134. </head>
  135. 上面的代码让页面每隔15秒刷新一次!
  136. 注意:必须包含这句:<meta http-equiv="Cache-Control" content="no-cache"/>
  137. 如果没有的话,那可能刷新后只是看到缓存中的副本,并没有重新从服务器下载页面。
  138. 还有一个用法就是用来URL自动跳转,例子如下:
  139. <head>
  140. <title>XHTML MP Tutorial</title>
  141. <meta http-equiv="refresh" content="3;URL=http://blog.csdn.net/patriot074/"/>
  142. </head>
  143. 需要注意的是,不是所有浏览器都支持refresh,如:诺基亚 浏览器4.0和Ericsson T610 和 T68i
  144. 不过,阿佛使用的Windows Mobile手机是支持的,所以推荐使用。
  145. 随着智能手机的降价,上面的那些不支持的也很快要淘汰了吧。
  146. 十:注释
  147. 和html的一样啦:
  148. <!-- This is a comment in XHTML MP -->
  149. 十一:换行
  150. <BR/>, 例子:
  151. <body>
  152. <p>
  153. Line 1<br/>
  154.  Line 2<br/><br/>
  155.  Line 3
  156.  </p>
  157. </body>
  158. 十二:<hr/>标记
  159. 这个标记会给你的页面添加一条水平线。注意:
  160. 这个标记不能在<p></p>标记之间使用!!!
  161. 例子:
  162. <body>
  163. <p>
  164.  Table of Contents:<br/>
  165.  </p>
  166.  <hr/>
  167.  <p>
  168.  Part 1 XHTML MP Introduction<br/>
  169.  Part 2 Development of Wireless Markup Languages<br/>
  170.  Part 3 Advantages of XHTML MP<br/>
  171.  Part 4 WML Features Lost in XHTML MP
  172.  </p>
  173. </body>
  174. 十三:标题标记
  175. <h1><h2><h3><h4><h5>, 和 <h6>
  176. 浏览器将以不同的大小显示置于此标记中的文字,具体效果你可以测试下面的代码:
  177. <body>
  178. <h1>Level 1 Heading</h1>
  179.  <h2>Level 2 Heading</h2>
  180.  <h3>Level 3 Heading</h3>
  181.  <h4>Level 4 Heading</h4>
  182.  <h5>Level 5 Heading</h5>
  183.  <h6>Level 6 Heading</h6>
  184.  </body>
  185. 十四:文字样式
  186. 首先声明的是有些浏览器并不支持XHTML MP支持的标记。
  187. 例子:
  188. <body>
  189. <p>
  190.  <b>Bold</b><br/>
  191.  <i>Italic</i><br/>
  192.  <b><i>Bold italic</i></b><br/>
  193.  <small>Small</small><br/>
  194.  <big>Big</big><br/>
  195.  <em>Emphasis</em><br/>
  196.  <strong>Strong</strong>
  197.  </p>
  198.  </body>
  199. 你还可以通过WAP  CSS进行更精确的控制,比如把文字大小设置为12pt。
  200. 更多关于WAP CSS的信息请访问:(下面将不再重复声明)
  201. http://www.developershome.com/wap/wcss/
  202. 十五:预格式文本
  203. 在XHTML MP中,段落中的多个空格在手持设备中显示时只显示为一个空格。请看下面的例子:
  204. <body>
  205. <p> Hello, welcome 
  206. to 
  207. our
  208. XHTML MP tutorial. </p>
  209. </body>
  210. 为了能够保持你希望的格式,可以使用<pre>标签:
  211. <body>
  212. <pre> Hello, welcome 
  213. to 
  214. our
  215. XHTML MP tutorial. </pre>
  216. </body>
  217. 这样最后显示的格式就和上面代码中排列的一样了。
  218. 十六:列表标签
  219. 使用<ul>标签来建立无序列表,每个列表项前将显示一个小圆点。
  220. <li>标签用来包围每个列表项。
  221. 请看下面的例子:
  222. <body>
  223. <p>Table of Contents:</p>
  224.  <ul>
  225.  <li>Part 1 XHTML MP Introduction</li>
  226.  <li>Part 2 Development of Wireless Markup Languages</li>
  227.  <li>Part 3 Advantages of XHTML MP</li>
  228.  <li>Part 4 WML Features Lost in XHTML MP</li>
  229.  </ul>
  230. </body>
  231. 使用<ol>标签来建立有序列表,请看下面的例子:
  232. <body>
  233. <p>Table of Contents:</p>
  234.  <ol>
  235.  <li>XHTML MP Introduction</li>
  236.  <li>Development of Wireless Markup Languages</li>
  237.  <li>Advantages of XHTML MP</li>
  238.  <li>WML Features Lost in XHTML MP</li>
  239.  </ol>
  240. </body>
  241. 其中,在<ol>标签中可以设置start属性的值来决定列表序号的起始值,例如:
  242. <ol start="4">
  243. 通过WAP CSS你可以对列表的外观进行更精确的控制。例如,可以修改显示序号的方式,

来自 http://www.cnblogs.com/appleseed/archive/2008/12/29/1364393.html

分享到:
评论

相关推荐

    xhtml mp 基础(手机网站开发基础技术)

    XHTML MP 基础(手机网站开发基础技术) 我们知道,我们通常用电脑访问的网站的网页是用html构建的。类似的,现在WAP 2.0网站是用XHTML MP 构建,以供手持设备的访问,如手机、PDA等。 XHTML MP是XHTML的子集,...

    XHTML MP开发基础

    wap2.0技术开发基础XHTML_MP

    手机网站开发基础技术

    现在WAP 2.0网站是用XHTML MP 构建,以供手持设备的访问,如手机、PDA等。

    WAP 2.0—— XHTML MP and WCSS

    最大优点:开发者可用相同的技术开发适用于WEB和WAP的站点。 有HTML、XHTML、CSS基础即可入门。 同样的开发工具可以用来开发WEB和WAP站点。 开发过程中一般的WEB浏览器可以浏览你的WAP站点。 HTML/XHTML页面可以通过...

    WAP 2.0-XHTML MP and WCSS

    WAP 2.0-XHTML MP and WCSS对于手机WAP的开发,大家也许很陌生,有些人甚至不知道如何入手。其实只要有HTML和CSS的基础,加上熟识WAP2.0规范,就可以制作WAP2.0页面。而现在国内关于WAP2.0规范的资料和教程很少,在...

    QuickWAP-XML-Read.rar_xhtml mp

    QuickWAP XML是一款以WAP2.0协议为基础开发的辅助ASP+XHTML MP语言编写WAP网页程序的ActiveX组件。它解决了WAP开发中所遇到的常见问题,并且给出了完善的解决方案,同时全力支持Microsoft SQL Server2000和Microsoft...

    quickwap xml组件

    QuickWAP XML是一款以WAP2.0协议为基础开发的辅助ASP+XHTML MP语言编写WAP网页程序的ActiveX组件。它解决了WAP开发中所遇到的常见问题,并且给出了完善的解决方案,同时全力支持Microsoft SQL Server2000、2005和...

    wap源码,quickWAP XML软件

    QuickWAP XML是一款以WAP2.0协议为基础开发的辅助ASP+XHTML MP语言编写WAP网页程序的ActiveX组件。它解决了WAP开发中所遇到的常见问题,并且给出了完善的解决方案,同时全力支持Microsoft SQL Server2000和Microsoft...

    (ecbpo.com)WAP2.0知识分享PPT

    而现在国内关于WAP2.0规范的资料和教程很少,在结合自己多次项目开发的经验,并翻阅熟读WAP2.0英文规范的基础上,为大家做一个简单扼要的WAP2.0知识分享,分享内容主要为WAP2.0规范中的XHTML MP和WAP CSS。

    WAP2.0知识分享PPT

    而现在国内关于WAP2.0规范的资料和教程很少,在结合自己多次项目开发的经验,并翻阅熟读WAP2.0英文规范的基础上,为大家做一个简单扼要的WAP2.0知识分享,分享内容主要为WAP2.0规范中的XHTML MP和WAP CSS。...

    WAP 2.0开发文档ppt

    WAP 2.0-XHTML MP and WCSS对于手机WAP的开发,大家也许很陌生,有些人甚至不知道如何入手。其实只要有HTML和CSS的基础

    新版Android开发教程.rar

    这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...

    QuickWAP XML 企业WAP2.0平台系统

    QuickWAP XML是一款以WAP2.0协议为基础开发的辅助ASP+XHTML MP语言编写WAP网页程序的ActiveX组件。它解决了WAP开发中所遇到的常见问题,并且给出了完善的解决方案,同时全力支持Microsoft SQL Server2000和Microsoft...

    QuickWAP-XML

    QuickWAP XML是一款以WAP2.0协议为基础开发的辅助ASP+XHTML MP语言编写WAP网页程序的ActiveX组件。它解决了WAP开发中所遇到的常见问题,并且给出了完美的解决方案,同时全力支持Microsoft SQL Server2000、2005和...

    动易内容管理系统WAP2.0适配程序

     QuickWAP的开发集成了微软的ASP、VB、ActiveX、Windows2003(2007)、IIS6.0(5.0)、Access、MSSQL2000(2005)、SQL和WAP的WML、XHTML MP语言,以及ASPJPEG、JMail组件、CSS语言等技术于一体,其中以微软的各种技术为...

    动易SiteWeaver内容管理系统WAP2.0适配程序 V1.0.rar

     QuickWAP的开发集成了微软的ASP、VB、ActiveX、Windows2003(2007)、IIS6.0(5.0)、Access、MSSQL2000(2005)、SQL和WAP的WML、XHTML MP语言,以及ASPJPEG、JMail组件、CSS语言等技术于一体,其中以微软的各种技术为...

    WAP网页程序组件( QuickWAP XML )

    QuickWAP XML是一款以WAP2.0协议为基础开发的辅助ASP+XHTML MP语言编写WAP网页程序的ActiveX组件。它解决了WAP开发中所遇到的常见问题,并且给出了完善的解决方案,同时全力支持Microsoft SQL Server2000和Microsoft...

Global site tag (gtag.js) - Google Analytics