资源描述
W2M数据网关模板标签说明
———————————————————————————————— 作者:
———————————————————————————————— 日期:
2
个人收集整理 勿做商业用途
W2M数据网关
模板标签说明
文件状态:
[ ] 草稿
[√] 正式发布
文件标识:
CoVics-W2M-RD—UR
当前版本:
1。0
作 者:
Wu Lei
完成日期:
2010—9—6
文件控制
版本记录
日期
作者
参与者
变更说明
2010—9-6
Wu Lei
目 录
1. 文档介绍 4
1。1。 目的 4
1。2。 范围 4
1。3. 读者对象 4
1.4. 参考资料 4
2. 数据网关概述 4
3. 模板简介 5
3.1. 模板规范 5
4。 扩展标签 6
4。1. Sub 替换标签 6
4。2。 List 列表标签 7
4。3. Content 内容标签 7
4.4。 Plugin 插件标签 8
1. 文档介绍
1.1. 目的
本文主要定义W2M数据网关模板制作规范及模板扩展标签,以使读者理解并熟悉扩展标签及其使用方法,并作为模板制作的主要依据.
1.2. 范围
针对W2M数据网关模板制作规范及扩展标签说明。
1.3. 读者对象
本文读者包括但不限于以下对象:项目经理、系统架构师、开发工程师、测试工程师、技术支持工程师
1.4. 参考资料
2. 数据网关概述
W2M数据网关采用HTTP反向代理的技术,将用户手机访问手机站点的请求,转发到源WEB站点上,获取源WEB网站返回的网页内容,并加载模板,对源WEB网页内容按模板设定的规则重新组织和格式化,最后返回给用户手机.如下图所示:
源WEB网站
W2M数据网关
用户手机
模板
请求手机网站
请求源网站
返回原始网页内容
返回转换后的内容
加载模板,重新组织内容
3. 模板简介
由上述可知,模板的作用主要是对源网页内容重新组织和格式化,并展示给终端用户。
W2M数据网关模板是基于XHTML的文档,可以在模板中使用符合XHTML BASIC或XHTML MOBILE PROFILE标准的元素和属性。
以下元素不能在模板中使用:frame, frameset, iframe, script。
事件也不能使用,如:onclick, onload等.
此外,模板扩展了一套专用标签,通过这些扩展标签对源网页内容进行操作和处理。后面有专门的章节详述扩展标签的具体使用方法。
3.1. 模板规范
一个标准的模板文档,应包括文档类型声明以及由<html〉标签包含的<head〉和<body〉消息体。例如下面的文档:
〈?xml version="1.0” encoding=”UTF-8"?>〈!DOCTYPE html; PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN” "http://www.wapforum.org/DTD/xhtml—mobile10。dtd">
〈html〉
<head>
〈title〉高维信诚〈/title〉
〈!-—css定义-—〉
〈/head>
〈body>
〈!——内容-->
〈/body>
</html〉
此外,模板必须符合XHTML规范,包括:
1. 所有的标记都必须要有一个相应的结束标记。如<p>。.。〈/p〉或〈br/>
2. 所有标签的元素和属性的名字都必须使用小写。如:〈div class=”bg”>
3. 所有的XML标记都必须合理嵌套。如〈table〉<tr〉<td〉.。。</td></tr></table>
4. 所有的属性必须用引号括起来。
5. 所有非标签的<、〉或&等特殊符号用编码表示。如:&lt; &gt; &;
6. 属性必须赋值,而不能简写。如:<input type="checkbox” checked="checked”〉
7. 注释内容中不能出现”—”或“-—"。
8. 图片标签必须有alt属性说明文字。如:<img src="tree。jpg” alt=”big tree" />
4. 扩展标签
扩展标签名称及属性名称使用小写,属性值不区分大小写。标签属性值支持单引号或双引号包容,根据实际使用情况自定。
4.1. Sub 替换标签
在输入源网页内容时将指定文本内容替换成另外的内容.
用法
〈sub〉{待替换的内容}|{替换后的内容}〈/sub>
说明
以”|”分隔开待替换的内容和替换后的内容。
示例
〈sub〉abc|ABC〈/sub〉
将源网页中出现的abc字符串替换成大写的ABC
备注
如果有多个要替换的内容,可以使用多个sub标签。
如果待替换或替换后的内容中包含有破坏原XML文档结构的特殊字符,如”〈”、”>”,应使用CDATA将整个值括起,如:<sub>〈![CDATA[〈Abc|abc〉]]></sub〉表示将"<Abc”替换成”abc>”.
4.2. List 列表标签
获取源网页中指定节点中所包含的所有超链接(<a>元素),以列表形式展现.
用法
〈list>
<tag sequence=”1”>〈/tag〉
<split〉〈/split>
〈/list〉
说明
tag:指明要获取的内容块节点的开始标签。如:〈tag〉<body>〈/tag>表示获取源网页的〈body〉到〈/body〉之间的所有超链接。
此开始标签也可以包含属性。如: 〈tag〉<div class=”bg”></tag〉指匹配〈div class="bg”>到〈/div>之间的超链接。如果是〈tag〉<div>〈/tag〉则匹配任何div标签中的超链接,包括<div>或〈div class=”bg”〉等。
sequence属性指出当源网页中出现多个相同的内容节点时,要获取第几个内容节点。如:<tag sequence=”2”>〈div〉</tag〉表示取源网页第二个<div〉节点中的所有超链接.sequence不是必须的属性.如果没有该属性则默认取第一个匹配的内容块。
split:每个超链接之间的分隔字符串。如:<split〉〈br/〉</split>表示每个超链接之间换行间隔,〈split〉 | 〈/split〉则表示每个超链接以字符“|”间隔。
示例
〈list〉
〈tag sequence="2”><div class=”secondmenubg2"〉</tag>
〈split〉<br/〉</split〉
</list〉
4.3. Content 内容标签
取出源网页中指定节点中所包含的内容。
用法
<content>
<tag sequence=”1”〉</tag〉
<revtag></revtag>
</content〉
说明
tag:指明要获取的内容块节点,用法与list标签的tag相同.如:<tag><body〉</tag>表示获取源网页的〈body>到</body〉中的内容.
sequence属性指出当源网页中出现多个相同的内容节点时,要获取第几个内容节点。如:<tag sequence="2”><div〉〈/tag>表示取源网页第二个〈div>节点中的内容。
sequence不是必须的属性。如果没有该属性则默认取第一个匹配的内容块。
revtag:要保留的源网页标签。如果有多个标签需要保留,以“|”分隔.如:< revtag >table|tr|td|div</ revtag >表示保留<table〉、<tr>、<td>、〈div>等标签.该值如果为空表示只输出文本内容而不保留任何html标签.
示例
<list〉
<tag sequence="2"><div class=”secondmenubg2"〉〈/tag>
〈split>〈br/>〈/split>
</list〉
4.4. Plugin 插件标签
在当前位置输出一段由外部程序产生的html内容。该外部程序可以是一个外部网页链接,也可以是一个实现了CoVics。W2M。ReverseProxyBL命名空间下的ICustomApp接口的程序集。
用法
<plugin src=”” class=”” assembly="” />
说明
src属性指定网页类型的外部链接地址。该地址必须是一段不带查询参数的url,系统会附加用户的请求查询参数来请求该地址。
class属性指定实现IcustomApp接口的命名空间和类名,assembly属性指定该类所在的程序集名。这两个属性必须一起使用。
可以根据需要只设置src的值或assembly和class的值.如果在插件标签中出现了所有属性,则默认只处理src。
示例
<plugin src=”http://www.w2m。com/order。html" />
请求
〈plugin assembly="CoVics.W2M.Custom” class=”CoVics.W2M.Custom.Order" /〉
调用CoVics.W2M.Custom程序集的CoVics.W2M.Custom。Order类,得到结果内容在模板当前位置输出。
Ó 北京高维信诚,2008
Page 11 of 11
展开阅读全文