hAtom应用 让结构提供数据

样式之美 - 正在消失 发布于2008-05-31 04:20:04 | 99次阅读 | 字体: 打印预览


首先了解一下什么是hAtom,简单来说,它是microformat的成员之一,源于atom,而atom又是什么呢,简单来说,你就看成跟RSS一样的东东,而复杂来说,你可以看这里,为什么要hAtom?选择使用总是需要一个理由的。

例如我的网站有提供Feed,但blog的某个分类却没提供,这时如果分类的页面能输出hatom的结构与数据的话,就可以能过工具(例如: hAtom transcoder , hatom2atom )把它转换成atom或者RSS,试着访问: http://tools.microformatic.com/transcode/atom/hatom/http://www.aoao.org.cn/blog/category/dev/ 看到的就是转换出来的atom,这样的话你甚至可以把搜索的结果转成atom(其实WP虾米feed都是可以输出),好像转把页面转成RSS或者atom也没什么特别的作用,介于这样,我们只研究不应用好了。

hAtom整体结构如下:

hfeed (hfeed). optional. feed category. optional. keywords or phrases, using rel-tag. hentry (hentry). entry-title. required. text. entry-content. optional (see field description). text. [*] entry-summary. optional. text. updated. required using datetime-design-pattern. [*] published. optional using datetime-design-pattern. author. required using hCard. [*] bookmark (permalink). optional, using rel-bookmark. tags. optional. keywords or phrases, using rel-tag.

[*] Some required elements have defaults if missing, see below.

本来想全译成中文的,可是我发现我用了二十几年的语言都不知道怎样表达 Feed Entry及一些看起来很简单的东东,所以大家就将就着看,我也就不翻译了,抽出几个出来,详细完整的介绍看官方WIKI

Feed : 标示一个feed元素,使用class hfeed,可选,如果没用则假设整个页面都是,hAtom可能包括有多个feed元素 Feed Category:必须在feed内但又不在entry内,使用rel标记。 Entry:在
or 里的微格式会给忽视。 Entry Title:如果没有的话会找entry里第一个Hx 或者页面的(在没有feed的情况下),或者把它当成空处理。 Entry Content:出现多个会按文档顺序连起来 Entry Permalink:如果没有的话会用网页的url,如果entry内有ID的话就是锚点, Entry Updated:如果没有就用Entry Published, Entry Author:要hCard,可以有多个。 <p>如果你想在wordpress上使用hatom的话,可以参考一下这篇<a href="http://blog.no-panic.at/2006/11/16/hatom-and-wordpress/" rel="external">hAtom and Wordpress</a>。</p> <p>在官方有批<a href="http://microformats.org/wiki/hatom-examples-in-wild" rel="external">examples</a> ,上边有各种关于hatom奇奇怪怪的应用。 个人看法,现在对应的“硬件”不成熟,各种应用都比较极限,也许在以后,hAtom会有很好的发展。</p></div><br />本文出处 : <a href="http://www.aoao.org.cn/blog/2008/05/hatom/" rel="external" title = "hAtom应用 让结构提供数据">http://www.aoao.org.cn/blog/2008/05/hatom/</a> <img src="./images/default/end.gif" alt="end" /> <br /><p> 上一篇:<a href="./articles/8375">新办公室新开始</a></p> <p> 下一篇:<a href="./articles/8377">『Time』一周图片精选:May 23 - 29,2008</a></p> <script type="text/javascript"><!-- google_ad_client = "pub-0412999412893957"; google_ad_width = 728; google_ad_height = 15; google_ad_format = "728x15_0ads_al"; google_ad_channel = ""; google_color_border = "66B5FF"; google_color_bg = "006699"; google_color_link = "FFFFCC"; google_color_text = "C3D9FF"; google_color_url = "FFFFCC"; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </div> <ul class="news-digg"> <li class="digg-count" id="main8376"> <h2 id="diggs-strong-8376">0</h2> <span id="e8376"><a href="javascript:void(0);" onclick="javascript:NewsVote(8376);" id="diggs8376">digg it</a></span> </li> </ul> </div> <div class="comment"> <div class="subTitle">现在评论本文</div> <div class="Content"> <script type="text/javascript" src="./ajax/tformvalid.js"></script> <script type="text/javascript"> window.onload=function() { var oValid = new TFormValid("addcomm"); oValid.addRule("nowname", "NotNull", "请输入您的大名"); oValid.addRule("comment", "NotNull", "请填写评论后再发表"); oValid.addRule("comment", "Length", "评论字数超过限制"); oValid.Listen(); }; </script> <div id="info"></div> <form id="addcomm" name="addcomm" action="./comment.php" method="post"><p> <input id="id" type="hidden" name="id" value="8376" /> <div class="Content"> <div class="row"><label>您的大名:</label><input class="input" id="nowname" name="nowname" type="text" /></div> <div class="row"><label>您的主页:</label><input class="input" name="nowpage" type="text" /></div> <div class="row"><label>您的邮箱:</label><input class="input" name="nowemail" id="nowemail" type="text" /></div> <div class="row"><label>您的评论:</label><textarea id="comment" name="comment" cols="85" rows="5"></textarea></div> <div class="row"><label> 验证码:</label><input name="authnum" class="txtinput" id="authnum" style="width: 80px;" maxlength="16" /> <img src='./inc/authnum.php' onclick="this.src='./inc/authnum.php?r='+Math.random()" alt="authnum" /></div> <div class="row" id="bottom0" style="text-align: center;"> <input type="hidden" name="refer" value="refer" /> <input type="button" onclick="e_comm();" value="提交" /> </p></form> </div> </div> <div id="normal"> <div class="subTitle">0 条评论</div> </div> </div> </div> </div> </div> <br style="clear: both;" /> <div class="copyright"> <img src="./images/digg/logo.gif" width="40" height="40" alt="" /> <!--© Blueidea Inc. 2005-2008 —!--> <br /> Copyright © <a href="http://www.codepub.com/" class="navLight" rel="external">CodePub</a> | <a id="StranLink" class="navLight">繁</a> | <a href="http://validator.w3.org/check?uri=referer" class="navLight" rel="external" title="Valid XHTML 1.1">Xhtml</a> |Power by:<a href="http://www.ixna.net/" class="navLight" rel="external">ixna</a><br />Page processed in 0.192986965179 seconds. </div> </div> <div id='loadingDiv' style="display:none;"><img src="./images/default/loading.gif" alt="loading" /></div> <div id="Layer" style="display:none" > <script type="text/javascript" src="./ajax/big5gb.js"></script> <script language="JavaScript" type="text/javascript"> var _PCSWebSite="100013"; var _PCSImage="countlogo1.gif"; </script> <script language="JavaScript" type="text/javascript" src="http://stat.codepub.com/count/count.js" ></script> </body> </html>