Re: Human/machine views for feeds (1.0, 2.0, Atom)
"Hammond, Tony" <t.hammond-F/0MNWz/[email protected]> Fri, 26 Jan 2007 12:16:00 +0000
| Newsgroups | gmane.network.syndication.rss.devel |
|---|---|
| Message-ID | <C1DFA180.15C5A%[email protected]> |
--ub1TImd8XOvhvhnbN-teI6a90ffrwMVLI3SIA4h Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Thanks, James. Gosh, I=B9ve got a big red face now. I hadn=B9t realized that Atom had a on= e content element only per entry restriction. (Was thinking that it had this real neat content packaging mechanism which would allow for multiple conten= t views for an entry regulated by media type.) Ho, hum! Well, certainly agree that the content payload should be an XHTML fragment. So now, as for structured semantic markup then we could just add in XML namespaced properties (and do the same for RSS 2.0) although I know that some really simple processors have problens with namespaces and especially elements sporting the same name in multiple namespaces. Preferable would be to reference a standalone RDF description. Perhaps I could reference the RSS 1.0 feed? And if I wanted to do that on a per-item basis how best would I index into an RSS 1.0 feed? I don=B9t seem to have I= Ds on the item elements. (I note that Atom does allow for <link/> elements, and that RSS 2.0 always has the <enclosure/> element =AD both taking a media type, I believe.) Cheers, Tony On 25/1/07 16:46, "James Holderness" <[email protected]> wrote:25/1/07 16:46 >=20=20 >=20=20 >=20=20 >=20 >> > Human - We add in XHTML markup within a <content type=3D"xhtml"> eleme= nt. >> > Machine - We add in a complete RSS 1.0 item (sans <content:encoded> >> > element) >> > within a <content type=3D"application/rdf+xml"> element. This seems >> > preferable >> > to defining arbitrary RDF/XML and provides best fit with the RSS 1.0 f= eed. >> > In essence the Atom entries contain standalone RDF islands along with = an >> > XHTML view. >=20 > One major problem is that Atom doesn't allow multiple content elements pe= r > item. I suppose you could put the XHTML in a summary element and leave th= e > RDF stuff in the content element, but the XHTML isn't really a summary of > the RDF stuff is it? It's probably more appropriate to just have the XHTM= L > in the content element and then include an alternate link element pointin= g > to the RDF stuff externally. >=20 > Also, your dates and ids aren't valid, but that should be easy to fix. >=20 > Regards > James >=20 >=20=20 >=20=20=20=20=20 ***************************************************************************= *****=20=20=20 DISCLAIMER: This e-mail is confidential and should not be used by anyone wh= o is not the original intended recipient. If you have received this e-mail in er= ror please inform the sender and delete it from your mailbox or any other stora= ge mechanism. Neither Macmillan Publishers Limited nor any of its agents accep= t liability for any statements made which are clearly the sender's own and no= t expressly made on behalf of Macmillan Publishers Limited or one of its agen= ts. Please note that neither Macmillan Publishers Limited nor any of its agents accept any responsibility for viruses that may be contained in this e-mail = or its attachments and it is your responsibility to scan the e-mail and=20 attachments (if any). No contracts may be concluded on behalf of Macmillan= =20 Publishers Limited or its agents by means of e-mail communication. Macmilla= n=20 Publishers Limited Registered in England and Wales with registered number 7= 85998=20 Registered Office Brunel Road, Houndmills, Basingstoke RG21 6XS=20=20=20 ***************************************************************************= ***** [Non-text portions of this message have been removed] --ub1TImd8XOvhvhnbN-teI6a90ffrwMVLI3SIA4h Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/htm= l4/strict.dtd"> <html> <head> </head> <!-- Network content --> <body style=3D"background-color: #ffffff;"> <!--~-|**|PrettyHtmlStartT|**|-~--> <div id=3D"ygrp-mlmsg" style=3D"width:655px; position:relative;"> <div id=3D"ygrp-msg" style=3D"width: 490px; padding: 0 15px 0 0; float:le= ft; z-index:1;"> <!--~-|**|PrettyHtmlEndT|**|-~--> <div id=3D"ygrp-text"> <p>Thanks, James.<br> <br> Gosh, I=B9ve got a big red face now. I hadn=B9t realized that Atom had a on= e<br> content element only per entry restriction. (Was thinking that it had this<= br> real neat content packaging mechanism which would allow for multiple conten= t<br> views for an entry regulated by media type.)<br> <br> Ho, hum! Well, certainly agree that the content payload should be an XHTML<= br> fragment. So now, as for structured semantic markup then we could just add<= br> in XML namespaced properties (and do the same for RSS 2.0) although I know<= br> that some really simple processors have problens with namespaces and<br> especially elements sporting the same name in multiple namespaces.<br> Preferable would be to reference a standalone RDF description. Perhaps I<br= > could reference the RSS 1.0 feed? And if I wanted to do that on a per-item<= br> basis how best would I index into an RSS 1.0 feed? I don=B9t seem to have I= Ds<br> on the item elements.<br> <br> (I note that Atom does allow for <link/> elements, and that RSS 2.0 a= lways<br> has the <enclosure/> element =AD both taking a media type, I believe.= )<br> <br> Cheers,<br> <br> Tony<br> <br> On 25/1/07 16:46, "James Holderness" <<a href=3D"mailto:j4_jam= es%40hotmail.com">j4_james@hotmail.<wbr>com</a>> wrote:25/1/07<br> 16:46<br> <br> > <br> > <br> > <br> > <br> >> > Human - We add in XHTML markup within a <content type=3D&q= uot;xhtml"<wbr>> element.<br> >> > Machine - We add in a complete RSS 1.0 item (sans <content= :encoded><br> >> > element)<br> >> > within a <content type=3D"application/<wbr>rdf+xm= l"> element. This seems<br> >> > preferable<br> >> > to defining arbitrary RDF/XML and provides best fit with the = RSS 1.0 feed.<br> >> > In essence the Atom entries contain standalone RDF islands al= ong with an<br> >> > XHTML view.<br> > <br> > One major problem is that Atom doesn't allow multiple content elements= per<br> > item. I suppose you could put the XHTML in a summary element and leave= the<br> > RDF stuff in the content element, but the XHTML isn't really a summary= of<br> > the RDF stuff is it? It's probably more appropriate to just have the X= HTML<br> > in the content element and then include an alternate link element poin= ting<br> > to the RDF stuff externally.<br> > <br> > Also, your dates and ids aren't valid, but that should be easy to fix.= <br> > <br> > Regards<br> > James<br> > <br> > <br> > <br> <br> ************<wbr>*********<wbr>*********<wbr>*********<wbr>*********<wbr>**= *******<wbr>*********<wbr>*********<wbr>***** <br> DISCLAIMER: This e-mail is confidential and should not be used by anyone wh= o is<br> not the original intended recipient. If you have received this e-mail in er= ror<br> please inform the sender and delete it from your mailbox or any other stora= ge<br> mechanism. Neither Macmillan Publishers Limited nor any of its agents accep= t<br> liability for any statements made which are clearly the sender's own and no= t<br> expressly made on behalf of Macmillan Publishers Limited or one of its agen= ts.<br> Please note that neither Macmillan Publishers Limited nor any of its agents= <br> accept any responsibility for viruses that may be contained in this e-mail = or<br> its attachments and it is your responsibility to scan the e-mail and <br> attachments (if any). No contracts may be concluded on behalf of Macmillan = <br> Publishers Limited or its agents by means of e-mail communication. Macmilla= n <br> Publishers Limited Registered in England and Wales with registered number 7= 85998 <br> Registered Office Brunel Road, Houndmills, Basingstoke RG21 6XS <br> ************<wbr>*********<wbr>*********<wbr>*********<wbr>*********<wbr>**= *******<wbr>*********<wbr>*********<wbr>*****<br> <br> [Non-text portions of this message have been removed]<br> <br> </p> </div>=20=20 <!--~-|**|PrettyHtmlStart|**|-~--> <span width=3D"1" style=3D"color: white;">__._,_.___</span> <!-- Start the section with Message In topic --> <div id=3D"ygrp-actbar"> <span class=3D"left"> <a href=3D"http://groups.yahoo.com/group/rss-dev/message/7408;_yl= c=3DX3oDMTM0amljNmxiBF9TAzk3MzU5NzE0BGdycElkAzIwOTEwODYEZ3Jwc3BJZAMxNzA2MDM= wMzkwBG1zZ0lkAzc0MTAEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxMTY5ODUzOTYzBHRwY0lkAz= c0MDg-"> Messages in this topic </a> (<span class=3D"bld">3</sp= an>) </span> <a href=3D"http://groups.yahoo.com/group/rss-dev/post;_ylc=3DX3oDMT= JwZTlkYnRsBF9TAzk3MzU5NzE0BGdycElkAzIwOTEwODYEZ3Jwc3BJZAMxNzA2MDMwMzkwBG1zZ= 0lkAzc0MTAEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxMTY5ODUzOTYz?act=3Dreply&message= Num=3D7410"> <span class=3D"bld"> Reply </span> (via web post) </a> |=20 <a href=3D"http://groups.yahoo.com/group/rss-dev/post;_ylc=3DX3oDMT= JlbDExa244BF9TAzk3MzU5NzE0BGdycElkAzIwOTEwODYEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlY= wNmdHIEc2xrA250cGMEc3RpbWUDMTE2OTg1Mzk2Mw--" class=3D"bld"> Start a new topic </a> </div>=20 <!------- Start Nav Bar ------> <!-- |**|begin egp html banner|**| --> <div id=3D"ygrp-vitnav"> <a href=3D"http://groups.yahoo.com/group/rss-dev/messages;_= ylc=3DX3oDMTJlMGlmcGFsBF9TAzk3MzU5NzE0BGdycElkAzIwOTEwODYEZ3Jwc3BJZAMxNzA2M= DMwMzkwBHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTE2OTg1Mzk2Mw--">Messages</a>=20=20 =20=20=20=20=20=20=20=20 =20=20=20=20=20=20=20=20 =20=20=20=20=20=20=20=20 =20=20=20=20=20=20=20=20 | <a href=3D"http://groups.yahoo.com/group/rss-dev/polls;_yl= c=3DX3oDMTJmZ2NiZnNqBF9TAzk3MzU5NzE0BGdycElkAzIwOTEwODYEZ3Jwc3BJZAMxNzA2MDM= wMzkwBHNlYwNmdHIEc2xrA3BvbGxzBHN0aW1lAzExNjk4NTM5NjM-">Polls</a>=20=20 | <a href=3D"http://groups.yahoo.com/group/rss-dev/members;_= ylc=3DX3oDMTJlZ211MjNvBF9TAzk3MzU5NzE0BGdycElkAzIwOTEwODYEZ3Jwc3BJZAMxNzA2M= DMwMzkwBHNlYwNmdHIEc2xrA21icnMEc3RpbWUDMTE2OTg1Mzk2Mw--">Members</a>=20=20 =20=20=20=20=20=20=20=20 </div>=20=20 <!-- |**|end egp html banner|**| --> <!-- Do not have place to put it yet --> <div id=3D"ygrp-grft"> </div> <!-- yahoo logo --> <!-- |**|begin egp html banner|**| --> <div id=3D"ygrp-ft"> <a href=3D"http://groups.yahoo.com/;_ylc=3DX3oDMTJkM2M0ZWRxBF9TAzk3Mz= U5NzE0BGdycElkAzIwOTEwODYEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlYwNmdHIEc2xrA2dmcARzd= GltZQMxMTY5ODUzOTYz"> <img src=3D"http://us.i1.yimg.com/us.yimg.com/i/yg/img/logo/ma_grp_16= 0.gif" height=3D"15" width=3D"106" border=3D"0" alt=3D"Yahoo! Groups"></a> = <br> <a href=3D"http://groups.yahoo.com/group/rss-dev/join;_ylc=3DX3oDMTJm= bWY5ajlzBF9TAzk3MzU5NzE0BGdycElkAzIwOTEwODYEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlYwN= mdHIEc2xrA3N0bmdzBHN0aW1lAzExNjk4NTM5NjM-">Change settings via the Web</a> = (Yahoo! ID required) <br> Change settings via email: <a href=3D"mailto:rss-dev-digest@yahoogrou= ps.com?subject=3DEmail Delivery: Digest">Switch delivery to Daily Digest</a= > | <a href =3D "mailto:[email protected]?subject=3DChang= e Delivery Format: Traditional">Switch format to Traditional</a> <br> <a href=3D"http://groups.yahoo.com/group/rss-dev;_ylc=3DX3oDMTJkY2luO= WNsBF9TAzk3MzU5NzE0BGdycElkAzIwOTEwODYEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlYwNmdHIE= c2xrA2hwZgRzdGltZQMxMTY5ODUzOTYz"> Visit Your Group=20 </a> | <a href=3D"http://docs.yahoo.com/info/terms/"> Yahoo! Groups Terms of Use </a> | <a href=3D"mailto:[email protected]?subject=3D"> Unsubscribe </a>=20 </div> <!-- |**|end egp html banner|**| --> </div> <!-- ygrp-msg --> =20=20 <!-- Sponsor --> <!-- |**|begin egp html banner|**| --> <div id=3D"ygrp-sponsor" style=3D"width:140px;float: left; clear: none; m= argin-left: 5px; background:white; margin-bottom:25px ;position:absolute; t= op:0; right: 0;"> <!-- Network content --> =20=20=20=20 <!-- Start vitality --> <div id=3D"ygrp-vital"> <div id=3D"vithd">Recent Activity</div> <ul style=3D"list-style-type:none; padding: 0; margin: 2px 0;"> <li style=3D"clear: both;"> <div class=3D"ct" style=3D"float: right;"><span style=3D"display:none= "> </span>6</div> <div class=3D"cat"><a href=3D"http://groups.yahoo.com/group/rss-dev/m= embers;_ylc=3DX3oDMTJmM28wbjJiBF9TAzk3MzU5NzE0BGdycElkAzIwOTEwODYEZ3Jwc3BJZ= AMxNzA2MDMwMzkwBHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzExNjk4NTM5NjM-">New Member= s</a></div> </li> =20=20 =20=20=20=20=20=20=20=20=20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20=20 </ul> <a href=3D"http://groups.yahoo.com/group/rss-dev;_ylc=3DX3oDMTJ= lZGhwbGZnBF9TAzk3MzU5NzE0BGdycElkAzIwOTEwODYEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlYw= N2dGwEc2xrA3ZnaHAEc3RpbWUDMTE2OTg1Mzk2Mw--"> Visit Your Group </a> </div>=20 =20=20=20=20 <!-- Network content --> <div id=3D"nc"> <div class=3D"ad"> <div id=3D"hd1">New Message Search</div> <p>Find the message you want faster. Visit your group to try out = the improved message search.</p> <p><a href=3D""></a></p> </div> <div class=3D"ad"> <div id=3D"hd1"></div> <p></p> <p><a href=3D"">Share feedback on the new changes to Groups</a></= p> </div> </div> =20=20=20=20=20=20 </div> <!-- |**|end egp html banner|**| --> <div style=3D"clear:both; color: #FFF; font-size:1px;">.</div> </div> <img src=3D"http://geo.yahoo.com/serv?s=3D97359714/grpId=3D2091086/g= rpspId=3D1706030390/msgId=3D7410/stime=3D1169853963" width=3D"1" height=3D"= 1"> <br> <span style=3D"color: white;">__,_._,___</span> <!--~-|**|PrettyHtmlEnd|**|-~--> </body> <!--~-|**|PrettyHtmlStart|**|-~--> <head> <style type=3D"text/css"> <!-- #ygrp-mlmsg {font-size:13px; font-family: arial,helvetica,clean,sans-serif;= *font-size:small;*font:x-small;} #ygrp-mlmsg table {font-size:inherit;font:100%;} #ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-se= rif;} #ygrp-mlmsg pre, code {font:115% monospace;*font-size:100%;} #ygrp-mlmsg * {line-height:1.22em;} #ygrp-text{ font-family: Georgia;=09 } #ygrp-text p{ margin: 0 0 1em 0; } #ygrp-tpmsgs{ font-family: Arial;=09 clear: both; } #ygrp-vitnav{ padding-top: 10px; font-family: Verdana; font-size: 77%; margin: 0; } #ygrp-vitnav a{ padding: 0 1px; } #ygrp-actbar{ clear: both; margin: 25px 0; white-space:nowrap; color: #666; text-align: right; } #ygrp-actbar .left{ float: left; white-space:nowrap; } .bld{font-weight:bold;} #ygrp-grft{ font-family: Verdana; font-size: 77%; padding: 15px 0; } #ygrp-ft{ font-family: verdana; font-size: 77%; border-top: 1px solid #666;=20 padding: 5px 0;=20 } #ygrp-mlmsg #logo{ padding-bottom: 10px; } #ygrp-vital{ background-color: #e0ecee; margin-bottom: 20px; padding: 2px 0 8px 8px; } #ygrp-vital #vithd{ font-size: 77%; font-family: Verdana; font-weight: bold; color: #333; text-transform: uppercase; } #ygrp-vital ul{ padding: 0; margin: 2px 0; } #ygrp-vital ul li{ list-style-type: none; clear: both; border: 1px solid #e0ecee;=20=20 } #ygrp-vital ul li .ct{ font-weight: bold; color: #ff7900; float: right; width: 2em; text-align:right; padding-right: .5em; } #ygrp-vital ul li .cat{ font-weight: bold; } #ygrp-vital a { text-decoration: none; } #ygrp-vital a:hover{ text-decoration: underline; } #ygrp-sponsor #hd{ color: #999; font-size: 77%; } #ygrp-sponsor #ov{ padding: 6px 13px; background-color: #e0ecee; margin-bottom: 20px; } #ygrp-sponsor #ov ul{ padding: 0 0 0 8px; margin: 0; } #ygrp-sponsor #ov li{ list-style-type: square; padding: 6px 0; font-size: 77%; } #ygrp-sponsor #ov li a{ text-decoration: none; font-size: 130%; } #ygrp-sponsor #nc { background-color: #eee; margin-bottom: 20px; padding: 0 8px; } #ygrp-sponsor .ad{ padding: 8px 0; } #ygrp-sponsor .ad #hd1{ font-family: Arial; font-weight: bold; color: #628c2a; font-size: 100%; line-height: 122%; } #ygrp-sponsor .ad a{ text-decoration: none; } #ygrp-sponsor .ad a:hover{ text-decoration: underline; } #ygrp-sponsor .ad p{ margin: 0; } o {font-size: 0; } .MsoNormal { margin: 0 0 0 0; } #ygrp-text tt{ font-size: 120%; } blockquote{margin: 0 0 0 4px;} .replbq {margin:4} --> </style> </head> <!--~-|**|PrettyHtmlEnd|**|-~--> </html><!--End group email --> --ub1TImd8XOvhvhnbN-teI6a90ffrwMVLI3SIA4h--