关于XMPP格式化文本的研究
2011-09-30 09:15
239 查看
协议介绍
XEP-0071 XHTML-IM定义了如何支持Format消息,例如字体,颜色,hyperlink等,格式如下:<message to='conn@jabber.org/resource1' id='conid74' type='chat'> <body>test msg</body> <thread>connect29243</thread> <html xmlns='http://jabber.org/protocol/xhtml-im'> <body xmlns='http://www.w3.org/1999/xhtml'> <font color="red">test msg</font> </body> </html> <active xmlns='http://jabber.org/protocol/chatstates'/> </message>
[/code]
需要注意的实现细节
发送消息的时候,需要将纯文本放在body中,同时将带格式的消息放在html/body中。需要注意的是,Message中不能包含<, >, &, ', " 5个特殊的字符,在发送给server之前需要将他们做转换(<, >, &, ', and "),同时对于 也需要做特殊的处理。对于带格式消息中的<font>, </font>等,我们需要保持原样,否则消息接受者就无法正确的显示消息。
当client接受到一个消息,首先要尝试获取xhtml中的格式消息,如果获取不到,才获取body中的纯文本消息。由于body中只能放普通的文本消息,因此对于hyperlink消息,由于上层给SDK的是类似于<a href="www.sina.com"> sina </a>这样的格式,因此我们需要将这个hyperlink替换为www.sina.com放在body中。
相关文章推荐
- XMPP协议中关于whitespace ping的研究
- XMPP协议中关于presence的相关文档研究
- 编译研究(2)——关于函数重定义的处理
- 关于数据库DB负载均衡的初步研究(二)
- 关于QT中显示中文的一些研究
- 关于图片背景的研究
- 关于Java占用内存的研究
- 关于extjs控件的id和样式的研究 推荐
- 关于数学基础的研究现状
- 关于ExtJS5的初步研究(二)
- 【HEVC学习与研究】4、关于IEEE TCSVT的HEVC Special Section
- (续)关于代码重用性的研究
- 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究
- 关于listview中某行的button事件触发当前行Textview的改变的研究
- 关于IPTV中的流传输技术研究与分析
- (转自沙漠里de烟雨)关于子网划分、子网聚合(超网)的研究
- 关于socket的一些初步研究
- 关于 if(类对象) 语法的研究
- 关于UIView的autoresizingMask属性的研究
- 关于彩信发送报告的研究