WAP 2.0介绍和使用规范介绍和使用规范—— XHTML MP and WCSS 一、WAP 的常识(省略) 二、XHTML MP (一)XHTML MP 介绍 XHTML MP(eXtensible HyperText Markup Language Mobile Profile) WAP2.0 与 WCSS(WAP CSS /WAP Cascading Style Sheet)配套使用 是 XHTML 的子集 XHTML Basic (XHTML 子集)+另外的一些 XHTML 的元素和属性 WAP 浏览器与互联网之间 以前 WAP 网站(WML and WMLScript ) 更多的展示表现(presentation control ) (一)XHTML MP 介绍 优势:开发的站点可以在 WEB 和无线上都可以使用,也可以用任何 Web 浏览器访问 WAP2.0应用 向后兼容:XHTML MP / WCSS 和 WML / WMLScript (二)无线标记语言发展 HTML:WAP 发展的首要任务——移动,PDA 等访问互联网WAP standard (WML and XHTML Mobile Profile) 类似 HTML WML(Wireless Markup Language) 1.x:WAP 1.x 规范中规定的标记语言,无线设备的第 一个标记语言。
Openwave、Nokia 和 Ericsson 很早都有自己的标记语言WML 规范是 WAP Forum(97)创建的而现在,很多的 WAP 站点依然使用的是 WML XHTML:结构比 HTML 更简洁和严格这对于无线设备(例:移动)很重要,对于 有限的处理能力 XHTML Basic :是 XHTML 的一个简化版本为处理能力和性能有限的设备设计的(移动,PDA,呼机等)(二)无线标记语言发展 但是不包含 XHTML 特性例如 CSS,frames 和 Scripting是由 W3C 定义的 XHTML MP: 在 WAP2.0说明中指定的官方标记语言WAP Forum 基于 XHTML Basic 创 造,并从 XHTML 的完整版本中增加了一些元素和属性例 如,,,和 XHTML MP 支持一个简单的 CSS 版本,即 WCSS/WAP CSS WCSS/WAP CSS: CSS2的一个简化版本,增加了 WAP 特有的扩展可以很简单的改变 XHTML MP 页面的布局和风格 WML2.0: WAP 站点开发者不需要顾虑 WML2.0WML2.0向后兼容,并且对于 WAP 站点 开发者还不可用。
三)XHTML MP 的优点 最大优点:开发者可用相同的技术开发适用于 WEB 和 WAP 的站点 有 HTML、XHTML、CSS 基础即可入门 同样的开发工具可以用来开发 WEB 和 WAP 站点开发过程中一般的 WEB 浏览器可以浏览你的 WAP 站点 HTML/XHTML 页面可以通过较小的修改成 XHTML MP,甚至不用修改(注意:布局是否 适应小屏幕,文件大小是否出最大) 支持 WCSS移动设备有很多不同的特征,比如屏幕大小,只需写一次结构,使用不同的 WCSS 文件即可 更多的表现控制四) 不支持的 WML 特性 XHTML MP 不支持和标签在 XML 中,一个文件可以包含一个或更多的 card,所有的 card 组合成一个 deck, 并在无线设备中一同被下载WAP 浏览器每次只显示一个 card,可以通过锚链接访问其 他的 card通过这些,减少了服务器的往返的访问对性能的提高是有意义的在 XHTML MP 中要实现类似的特性,可以使用 multipart messages(多个文档放到一个请求) 另外一个方式是使用目标锚(一个页面的不同位置) XHTML MP 不支持标签元素10秒后告诉 WAP 浏览器 URL。
注意点:WML timer 仅当进入 card,而 HTML refresh timer 当进入 XHTML MP 页 面 (四) 不支持的 WML 特性 3. XHTML MP 不支持事件WML 支持四个事件(ontimer,onenterbackward,onenterforward,onpick) ,除 ontimer 其他事件无法模拟如要使用,需使用 WML1.X 4. XHTML MP 不支持变量在 XML,可以声明变量,并赋值,拥有全局作用域可以在任何的 deck 和 card 中使用XHML MP 放在服务器端处理(必须发送并保存) 5. XHTML MP 不支持客户端脚本在 XML,你可以使用客户端脚本(WMLScript) JavaScript 的简化版,常用来 验证数据放在服务器短处理将来的版本将会支持客户端脚本(ECMAScript MP),支持 所有的 WMLScript 功能四) 不支持的 WML 特性 6. XHTML MP 不支持可编程序软键(Programmable SoftKeys) WML 的一个最大特征通过标签使用在 XHML MP 中可以使用 accesskey 属性。
锚链接和提交按钮支持这个属性:XHTML MP Tutorial Part 1标签在 XML,用来在一些文字下添加下划线可以用 WCSS 中的 text-decoration 属 性8. XHTML MP 不支持 Input 框的 format 属性在 XML,可以定义类型和字数限制可以使用 WCSS 中的-wap-input-format 属 性,语法一致比如限制5个数字字符:input {-wap-input-format:”5N”}(四) 不支持的 WML 特性 9. XHTML MP 不支持锚链接传输数据姓名: 提交 姓名:(五) 语法规则 标签必须完全闭合 标签和属性必须小写 属性值必须包含在引号标记内 不允许无属性值存在 标签必须完全嵌套 (六)MIME 类型和文件扩展名 MIME 类型: application/vnd.wap.xhtml+xml、application/xhtml+xml 、text/html 动态生成 MIME 类型获得 HTTP 请求中的 accept header 信息 文件扩展名:.xhtml、.html、.htm(七)文档结构 必须包含, , 和 元素。
Hello worldHello world. Welcome to .(七)文档结构 XML 声明和字符编码:UTF-8/16编码可省略XML 声明也不是必须的,但如果忽略在许多 WAP 浏览器 中出错 必须有 DOCTYPE 声明在 XML 声明和元素之间 、、、、元素,align 属性已经去除,可以通过 WAP CSS 的 text-align 属性来设置 (八)通用的元数据 使用标签,包含在内 WAP 浏览器如果不理解则忽略 比如添加作者: Cache Control:标签的一个应用是控制 XHTML MP 文件在 Cache 中的存在周期:注意点:与设备相关一些使用不相的方法,一些没有 Cache 机制还有一些不 支持但识别 Cache-Control:no-cache 的HTTP 头也可应用于图片的缓存 (八)通用的元数据 周期性刷新必须配合使用不是所有浏览器都支持九)常用标签介绍 注释:,和 HTML 和 WML1.X 相同 换行: ,和 HTML 和 WML1.X 相同 水平线:不能包含在标签之内 标题:-(不同的大小和样式) ,有些设备看起来一样的九)常用标签介绍 字体样式:XML 可以使用标签来改变字体样式( 、、、等) 。
但一些 浏览器只支持其中的部分,不支持的忽略,不会出错 WCSS 控制字体格式 与格式化文本:在 XHTML MP 中,标签间空白不显示,此外,段落中2个或更多的空白只 显示一个,如果想保持文字的格式,可使用 列表:、、对于元素,可以用属性 start 指定数字开始的序列还可以 用 WCSS 来做更精确的控制 显示图片:标签用来显示图片和 HTML 一样如果文件没发现或者图片格式不支 持,显示 alt 属性文本Height 和 width 属性来指定图片显示区域的高度和宽度(九)常用标签介绍 除了老的 WBMP 图片格式,WAP2.0还支持 WEB 上的图片格式(gif, jpg 和 PNG) ,但 WAP2.0无线设备支持上面图片格式的某些GPRS-gif,CDMA-png可以通过 accept HTTP header 判断设置关于大图片的发布:很多 WAP 浏览器都没有水平滚动功能如果宽度大于显示 屏,很多的 WAP 浏览器会裁切图片图片的按比例缩小不能帮助提升性能大图片还会 造成访问站点用户的费用优化图片:1、用制图软件按比例缩小图片;2、如果是 gif 图片,减少颜色,但降 低了图片质量,权衡。
3、如果是 jpg 图片,保存一定的压缩比例,依然是权衡使用 multipart messages,先下载的 XHTML MP 文档, (九)常用标签介绍 后请求图片,产生多个请求该方式可以使文档和图片在一个请求,意味着一个页面只有 一个请求减少服务器的压力表格:创建表格,需要使用、、标签,默认表格没有边线属性有 rowspan 和 colspan 锚链接:一般用在导航属性 href 定义指定的 URL当前页面位置的跳 转:先设置目标链接,通过 id 属性设置;再设置锚链接的 URL 为#id 名称对锚链接设置快捷键:标签的 accesskey 属性,有效的值为:*,#,0-9还可 以用-wap-accesskey 设置 (九)常用标签介绍 选择列表:选择列表使用标签,包含一个或更多的标签标签的 name 属性定义选择列表的名字name 用来取得被选择的 item 的值(option 的 value 属性 定义) 1. 多重选择列表:Option 的 selected 属性用来设置默认的 option如果想设置多 重选择列表,可使用标签的 multiple 属性,只有一个唯一值‘multiple’。
2. Option 分组:使用标签,label 属性定义 option 组的名称 (九)常用标签介绍 选择列表 (九)常用标签介绍 输 入元素:Text field、Password fireld、Checkbox、Radio button、Hidden field通过 元素创建传输数据到服务器,元素必须和一起使用 Type 属性用 来定义 input 元素的类别Name 属性用来定义名称,方便取得用户数据input { -wap-input-format: “10N“}(九)常用标签介绍 13. form 元素:、等元素不能直接包含在 form 元素下,XHMTL MP 标准 规定必须有块级元素如果有 non-ASCII 字符,需使用 POST 方法来避免编码问题14. 提交按钮:所有的表单都必须包含一个提交按钮元素用来创建一个提交按钮 而 type 属性被定义为’submit’九)常用标签介绍 15. 重置按钮:并不是必须的元素用来创建一个重置按钮而 type 属性被定义 为’reset’16. Div 和 Span 三、WCSS/WAP CSS (一)WCSS 介绍 WCSS/WAP CSS/Wireless CSS/Wireless Profile CSS(WAP Cascading Style Sheet )是 CSS2的子集+一些 WAP 特有的扩展 目的:定义文档的风格和布局,从文档内容中分离。