[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

OCS Channel format v0.1



Hello all,

This is a first draft at an OCS Channel format. It's based on RSS
purely for compatibility purposes. Obviously the namespace is
different so it's not 100% backwards compatible but the element names
are the same and it should be possible to create a valid OCS Channel
format file from an RSS file simply by changing the namespace.

All elements remain from RSS. The additions are as follows:

<date> - as as child of the <channel> element this is the date the
channel was last published. If it has <item> as it's parent it
indicates the date the item was added. This helps when producing
aggregated content or for user agents that display only the newest
headlines. In both contexts <date> is optional.

<body> - the body element is a child of <item>. It contains a
shortened form of the body of the article up to a maximum of 512
characters. The <body> element may contain the following elements and
corresponding attributes from HTML:
  <a> - href, title
  <b>
  <big>
  <em>
  <i>
  <small>
  <strong>
  <sub>
  <sup>
  <tt>

My rationale for creating an OCS Channel format is that there is an
obvious need to create a fatter format, but IMHO we shouldn't force
people to relearn their skills and a potentially more complicated
format such as XMLNews or scriptingNews. The additions to RSS I'm
proposing for this format are elements I had hoped to see in the
release version of RSS, especially the <body> element. There are
several hundred RSS channels out there and writing a parser for both
RSS and OCS Channel formats should be fairly simple in the trivial
cases.

Additionally by keeping the item titles the format will apply equally
well to channel aggregators such as my.netscape, my.userland or
startshere and also to offline viewers such as headline viewer. In
fact it would quite simple to allow the user to toggle between thin
and fat modes.


Anyway, here's an example, hope the wrapping works:


<?xml version="1.0"?>
<rdf:RDF
  xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
  xmlns = "http://alchemy.openjava.org/ocs/channel#";>
   <channel>
     <title>Internet Alchemy</title>
     <link>http://alchemy.openjava.org/</link>
     <description>Internet Alchemy</description>
     <date>1999-7-24T22:32</date>
   </channel>

   <image>
     <title>Internet Alchemy</title>
     <url>http://alchemy.openjava.org/images/alchemylogo.gif</url>
     <link>http://alchemy.openjava.org/</link>
   </image>

   <item>
     <title>Technocrat</title>
     <link>http://alchemy.openjava.org/index.html#ia00000529</link>
     <date>1999-7-24T22:32</date>
     <body>
       <a href="http://technocrat.net/";>Technocrat</a> is Bruce
       Perens new, weblog style project: <em>"TECHNOCRAT's primary
       mission is to encourage technically-litererate people to
       participate in the determination of technology policy."</em>
     </body>
   </item>

   <item>
     <title>Jiro</title>
     <link>http://alchemy.openjava.org/index.html#ia00000528</link>
     <date>1999-7-24T22:15</date>
     <body>
       <a href="http://www.jiro.com/";>Jiro</a> is to distributed
       storage what Jini is to distributed services. It provides
       a common interface for programming, managing and monitoring
       storage devices. The logo on the web site gives a big hint
       to pronunciation.
     </body>
   </item>

   <item>
     <title>How RegExs Work</title>
     <link>http://alchemy.openjava.org/index.html#ia00000527</link>
     <date>1999-7-24T22:04</date>
     <body>
       This is a <a
       href="http://www.plover.com/~mjd/perl/Regex/article.html";>
       fascinating article</a> describing how regular expressions
       work and it's even written in language a non computer
       scientist can understand.
     </body>
   </item>

   <item>
     <title>ASP2PHP</title>
     <link>http://alchemy.openjava.org/index.html#ia00000526</link>
     <date>1999-7-24T21:20</date>
     <body>
       This <a href="http://home.i1.net/~naken/asp2php/";>nifty
       program</a> converts ASP pages to PHP. It's not Open Source
       (yet) and the licence could end up being a bit steep unless
       you're a non-profit but if it works half as well as it
       claims it could be the end of a lot of migration woes.
     </body>
   </item>

   <item>
     <title>XMLTree Publishes Channels as OCS</title>
     <link>http://alchemy.openjava.org/index.html#ia00000525</link>
     <date>1999-7-24T21:18</date>
     <body>
       <a href="http://www.xmltree.com";>XMLTree</a> has started to
       publish it's <a href="http://http://www.xmltree.com/export/ocs.cfm";>
       list of weblog type channels</a> in the
       <a href="http://alchemy.openjava.org/ocs/";>OCS</a> directory
       format.
     </body>
   </item>

</rdf:RDF>


It did strike me that an alternative method of achieving the same
model would be to keep the RSS namespace and add an additonal
namespace for OCS with the date and body elements. This _might_ have
the added advantage of being backwards compatible with existing
parsers.

Comments anyone?


.id.

-- 
StartsHere - http://theweb.startshere.net/
weblog - http://alchemy.openjava.org/
me - http://www.fdc.co.uk/people/iand/ 
email - iand@fdc.co.uk | icq - 4423828