How changes.xml works

It's the core of Weblogs.Com 

Here's the URL.

http://www.weblogs.com/changes.xml

<weblogUpdates> 

changes.xml contains a single <weblogUpdates> element. It has three attributes, version, updated and count; and any number of <weblog> sub-elements.

version is a number, it's constant at 1, however if the format changes substantially, we have an easy way to support this version in addition to the new one.

updated is a string, a date-time in RFC 822 format, it says when changes.xml was last updated.

count is a number, it says how many times changes.xml has been updated since its deployment.

<weblog> 

<weblog> has three attributes, name, url and when.

name is a string, the name of a weblog.

url is a string, its url.

when is a number of seconds. If you subtract this number from the updated attribute of <weblogUpdates>, you'll get the time that the weblog updated.

Notes 

<weblogUpdates> is sorted in reverse-chronologic order.

It includes all weblogs that have updated in the last three hours.

changes.xml is updated at the top of the minute if during the previous minute at least one weblog updated. However, this is not guaranteed for all time. If this becomes a scaling issue, as we expect it will, we'll modify the application so that it writes the file less frequently.

Applications should not read this file more often than once per hour.

Pointers 

Date-time spec for HTTP 1.0.

Discuss