Internet Alchemy Weblog

Open Content Syndication Directory Format (Version 0.3)

Introduction

Open Content Syndication (OCS) is an application of XML. It allows the definition of 'channels' of content and includes such information as the title and description of the content, the frequency of update and categorisation of the information. This format has arisen due to the popularity of channel formats such as Netscape's RSS format, which has led to the creation of a multitude of channels. This format is designed to enable channel listings to be constructed for use by portal sites, client based headline software and other similar applications.

Version 0.4 has added the <ocs:contentType> element. An RDF schema will follow shortly.

For more information and feedback please contact iand@InternetAlchemy.org or join the Syndication mailing list.

Description of Format

The OCS Directory format is intended to allow providers of syndicated content the means to describe the content available. Each OCS file contains information about the directory itself and sub sections for each of the content channels available at that site. Each channel may be syndicated in multiple formats, languages or frequencies of publication. For example, the OCS Directory format could be used to provide two syndicated versions of a site, the first in RSS format, containing only headlines and updated hourly, the second in a more extensive format such as scriptingNews, updated daily and more suitable for downloading to read offline.

The format has the following logical structure:

   Directory Information
   |
   |
   +-- 1st Channel Information
   |   |
   |   |
   |   +-- Format Information
   |   |
   |   |
   |   +-- Format Information
   |   |
   |   |
   |   +-- ...
   |  
   |
   +-- 2nd Channel Information
   |   |
   |   |
   |   +-- ...
   |
   +-- ...
    

The Dublin Core elements take their accepted meanings. The <dc:subject> element should consist of a comma separated list of keywords.

Elements from the OCS schema are described below

<ocs:image>
This optional element is the URL of an image that should be used when displaying the channel. The image should be 88 pixels wide, 31 pixels high.
<ocs:language>
This optional element describes the language of the channel format. If omitted, en (English) is assumed.
<ocs:format>
This mandatory element contains a URL that links to the definition of the channel format. Typical examples could be http://my.netscape.com/rdf/simple/0.9/ for RSS, and http://www.scripting.com/dtd/scriptingNews.dtd for scriptingNews.
<ocs:contentType>
This optional element contains a standard MIME type for the content such as text/html or text/plain.
<ocs:updatePeriod>
This optional element is used to describe the period over which the channel format is updated. Acceptable values are: Hourly, Daily, Weekly, Monthly, Yearly. If omitted, daily is assumed.
<ocs:updateFrequency>
This optional element is used to describe the frequency of updates in relation to the update period. The value indicates how many times in that period the channel is updated. For example, an updatePeriod of daily, and an updateFrequency of 2 indicates the channel format is updated twice daily. If omitted a value of 1 is assumed for this element. Note, this element's value must be a positive integer greater than zero.
<ocs:updateBase>
This optional element defines a base date which can be used to calculate the publishing schedule. The date format takes the form: yyyy-mm-ddThh:mm

Who is Using OCS?

OCS Example

<?xml version="1.0"?>

<rdf:RDF
  xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:ocs = "http://InternetAlchemy.org/ocs/ocs-syntax#"
  xmlns:dc  = "http://purl.org/metadata/dublin_core#">

  <!-- This is information about this channel listing -->
  <!-- The about attribute points to the directory file, usually the same file as the one being parsed -->
  <rdf:description about="http://InternetAlchemy.org/ocs/ocsdirectory.rdf">        
    <!-- This section contains information about the channel directory listing -->
    <dc:title>Internet Alchemy OCS Directory</dc:title>
    <dc:creator>Ian Davis (mailto:iand@fdc.co.uk)</dc:creator>
    <dc:description>This is a list of channels available at Internet Alchemy</dc:description>
  
    <!-- This is the first channel available -->
    <rdf:description about="http://InternetAlchemy.org">        
      <!-- Information about the channel -->
      <dc:title>Internet Alchemy</dc:title>
      <dc:creator>Ian Davis (mailto:iand@fdc.co.uk)</dc:creator>
      <dc:description>Internet Alchemy is a random collection of elements</dc:description>
      <dc:subject>Technology, Java, XML, Web Design</dc:subject>
      <ocs:image>http://InternetAlchemy.org/images/alchemylogo.gif</ocs:image>
    
      <!-- This is the first format for this channel -->
      <!-- Information about the RSS version of Internet Alchemy -->
      <rdf:description about="http://InternetAlchemy.org/alchemyrss.xml">
        <ocs:language>en</ocs:language>
        <ocs:format>http://my.netscape.com/rdf/simple/0.9/</ocs:format>
        <ocs:updatePeriod>hourly</ocs:updatePeriod>
        <ocs:updateFrequency>2</ocs:updateFrequency>
        <ocs:updateBase>1999-05-30T00:00</ocs:updateBase>
      </rdf:description>
  
      <!-- This is the second format for this channel -->
      <!-- Information about the possible scriptingNews version of Internet Alchemy -->
      <rdf:description about="http://InternetAlchemy.org/scriptingnews.xml">
        <ocs:language>en</ocs:language>
        <ocs:format>http://www.scripting.com/dtd/scriptingNews.dtd</ocs:format>
        <ocs:updatePeriod>daily</ocs:updatePeriod>
        <ocs:updateFrequency>1</ocs:updateFrequency>
        <ocs:updateBase>1999-05-30T00:00</ocs:updateBase>
      </rdf:description>
      
      <!-- This is the third format for this channel -->
      <!-- Information about a plain text version of Internet Alchemy -->
      <rdf:description about="http://InternetAlchemy.org/plain.txt">
        <ocs:language>en</ocs:language>
        <ocs:contentType>text/plain</ocs:contentType>
        <ocs:updatePeriod>daily</ocs:updatePeriod>
        <ocs:updateFrequency>1</ocs:updateFrequency>
        <ocs:updateBase>1999-05-30T00:00</ocs:updateBase>
      </rdf:description>
    
    </rdf:description>        
  
    <!-- This is the second channel available -->
    <rdf:description about="http://InternetAlchemy.org/othernews/">        
     ...
    </rdf:description>        
  </rdf:description>        
</rdf:RDF>
    

Version History

Version 0.3
Removed <ocs:channel> and <ocs:directory> elements
Allowed any Dublin Core elements
Version 0.2
Redefined OCS in terms of RDF and Dublin Core
Version 0.1
Initial draft version

navigation

home
subscribe
about
xLinkage
referers
prospecting
other news

microsites

OCS
RSS
FOAF
WAP
Usenet

colophon

Copyright 1999-2002 Ian Davis. My FOAF File
Powered by Moveable Type