<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hackdiary &#187; xml</title>
	<atom:link href="http://www.hackdiary.com/category/xml/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hackdiary.com</link>
	<description></description>
	<lastBuildDate>Mon, 05 Dec 2011 17:15:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>REST On Rails</title>
		<link>http://www.hackdiary.com/2005/11/03/rest-on-rails/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rest-on-rails</link>
		<comments>http://www.hackdiary.com/2005/11/03/rest-on-rails/#comments</comments>
		<pubDate>Thu, 03 Nov 2005 10:18:45 +0000</pubDate>
		<dc:creator>Matt Biddulph</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.hackdiary.com/?p=73</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>XML.com have just published an article I wrote for them last month entitled <a href="http://www.xml.com/pub/a/2005/11/02/rest-on-rails.html">REST On Rails</a>.</p>
<p><span id="more-73"></span><br />
It outlines one approach that I&#8217;ve been developing for the API in the BBC programme catalogue. One of the things I like a great deal about Rails is its URL routing and dispatch mechanism. Creating mappings from URLs to model instances makes a resource-oriented style feel very natural, which sits very well with REST.</p>
<p>Isn&#8217;t this a wonderfully literal interpretation of the article&#8217;s title?</p>
<p><img src="http://www.hackdiary.com/images/111-rest_on_rails.gif" alt='REST on Rails' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackdiary.com/2005/11/03/rest-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Published</title>
		<link>http://www.hackdiary.com/2004/11/11/published/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=published</link>
		<comments>http://www.hackdiary.com/2004/11/11/published/#comments</comments>
		<pubDate>Thu, 11 Nov 2004 00:54:01 +0000</pubDate>
		<dc:creator>Matt Biddulph</dc:creator>
				<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.hackdiary.com/?p=64</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>A new experience today: I&#8217;ve done my first bit of paid writing. It&#8217;s <a href="http://www.xml.com/pub/a/2004/11/10/delicious.html">about del.icio.us</a> again, and it&#8217;s on xml.com.</p>
<p>It&#8217;s an expanded version of <a href="http://www.hackdiary.com/archives/000060.html">two</a> <a href="http://www.hackdiary.com/archives/000061.html">previous</a> posts previously made to hackdiary. It goes into a little more detail about how the code works, and gives more examples. There&#8217;s also more analysis, and more of an introduction for the uninitiated.</p>
<p><span id="more-64"></span><br />
It&#8217;s a bit weird reading my text on another site after it&#8217;s been edited by someone else. I&#8217;ve never been entirely comfortable with the written word; I&#8217;m more of a face-to-face person, and I think better out loud than at a keyboard. When I <a href="http://www.hackdiary.com/archives/000001.html">started</a> posting on this site, one of my goals was to get used enough to writing that I&#8217;d feel able to tackle articles, conference papers and the like. It&#8217;s good to be getting somewhere with that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackdiary.com/2004/11/11/published/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XML Europe is nearly here</title>
		<link>http://www.hackdiary.com/2004/04/01/xml-europe-is-nearly-here/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=xml-europe-is-nearly-here</link>
		<comments>http://www.hackdiary.com/2004/04/01/xml-europe-is-nearly-here/#comments</comments>
		<pubDate>Thu, 01 Apr 2004 13:38:45 +0000</pubDate>
		<dc:creator>Matt Biddulph</dc:creator>
				<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.hackdiary.com/?p=52</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m off to <a href="http://www.xmleurope.com">XML Europe</a> in a couple of weeks (better get in quick if you&#8217;re thinking of going, registration closes April 9th). I&#8217;ve been looking at the <a href="http://www.xmleurope.com/2004/schedule.asp">schedule</a>, which has lots of semantic web goodness in it, and thinking about what talks I&#8217;m going to go to. Here&#8217;s my list so far</p>
<p><span id="more-52"></span><br />
<b><a href="http://www.xmleurope.com/2004/monday.asp#6">Take REST: An Analysis of Two REST APIS</a></b>: Paul Prescod&#8217;s always interesting on this topic. I found his <a href="http://www.prescod.net/rest/">writings on REST</a> convincing when I first discovered them a couple of years ago, and it was great to meet him at last year&#8217;s XML Europe in London.</p>
<p><b><a href="http://www.xmleurope.com/2004/monday.asp#17">Lessons From an XML Query-Qriven SVG+XHTML Web Site</a></b>: always interesting to see how new technologies actually get used, rather than just sit listening to people talk through the specs. At a BOF at last year&#8217;s <a href="http://www.www2003.org">WWW</a> conference, Liam and others were talking about the possibility of adapting <a href="http://www.w3.org/2004/Talks/tp-robie/Overview.html">XQuery as a query language for RDF</a>.</p>
<p><b><a href="http://www.xmleurope.com/2004/tuesday.asp#3">Topic Maps are Emerging &#8211; Why Should I Care?</a></b>: because I don&#8217;t know enough about topic maps despite being an RDFhead.</p>
<p><b><a href="http://www.xmleurope.com/2004/tuesday.asp#19">Semantic Blogging: Spreading the Semantic Web Meme</a></b>: I&#8217;ve never met Steve Cayzer, but I know several people from <a href="http://www.ilrt.org">ILRT</a> who&#8217;ve worked with him and it all sounds like interesting work. He&#8217;s on in the same session as <a href="http://www.xmleurope.com/2004/tuesday.asp#23">my talk</a>, followed by <a href="http://www.xmleurope.com/2004/tuesday.asp#27">two</a> <a href="http://www.xmleurope.com/2004/tuesday.asp#31">more</a> fascinating semantic web talks from Damian Steer and Dave Beckett.</p>
<p>Hmm, <b><a href="http://www.xmleurope.com/2004/wednesday.asp#14">RDF/XHTML: A New RDF Syntax</a></b> or <b><a href="http://www.xmleurope.com/2004/wednesday.asp#16">RDF, XForms, and the Law &#8211; Staying Out of Gaol</a></b>?</p>
<p><a href="http://www.xmleurope.com/2004/tuts.asp">The tutorials</a> look rather good this year (Amazon web services, .NET and XML, XSLT2, XQuery, XML schemas, etc) but my employer didn&#8217;t have the money for me to attend. At least I&#8217;ll get to hear Jeff Barr at <a href="http://www.xmleurope.com/2004/keynotes.asp">his keynote</a>.</p>
<p>Oh, and I just found out I&#8217;ve got the go-ahead to attend <a href="http://www.www2004.org">www2004</a>. Anyone else going?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackdiary.com/2004/04/01/xml-europe-is-nearly-here/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>XML TV Listings in RDF</title>
		<link>http://www.hackdiary.com/2003/09/07/xml-tv-listings-in-rdf/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=xml-tv-listings-in-rdf</link>
		<comments>http://www.hackdiary.com/2003/09/07/xml-tv-listings-in-rdf/#comments</comments>
		<pubDate>Sun, 07 Sep 2003 17:18:33 +0000</pubDate>
		<dc:creator>Matt Biddulph</dc:creator>
				<category><![CDATA[bots]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.hackdiary.com/?p=41</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>In preparation for a TiVoBot that I&#8217;m planning to write as a wrapper for scheduling <a href="http://www.hackdiary.com/archives/000018.html">digital WinTV recordings</a>, I&#8217;ve been looking at TV listings data produced by tools from the <a href="http://membled.com/work/apps/xmltv/">XMLTV</a> project. I started out using the XML directly and storing it using <a href="http://www.sleepycat.com/xml">Berkeley DB XML</a> but soon found (like most of my projects) that I&#8217;d be happier if the data was expressed as an RDF model.</p>
<p><span id="more-41"></span><br />
The current <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/xmltv/xmltv/xmltv.dtd?rev=1.27">XMLTV DTD</a> turns out to be pretty <a href="http://www.xml.com/pub/a/2002/10/30/rdf-friendly.html">RDF-friendly</a> in its structure. This <a href="http://www.hackdiary.com/rdf/xmltv.xml">XML example</a> looks very similar <a href="http://www.hackdiary.com/rdf/rdftv.rdf">as RDF</a> (<a href="http://www.hackdiary.com/rdf/rdftv.png">graph</a>). The major changes I made in the translation were in assigning URIs to channels and programme categories, using identifiers such as <code>http://xmlns.com/2003/rdftv/channel#bbc3.bbc.co.uk</code> and <code>http://xmlns.com/2003/rdftv/category/ananova#News/CurrentAffair</code>, and giving the tv data a namespace under <a href="http://xmlns.com">http://xmlns.com</a>. The conversion is performed by <a href="http://www.hackdiary.com/rdf/xmltv2rdf.xsl">some XSLT</a>.</p>
<p>Taking a <a href="http://www.hackdiary.com/rdf/rdftv_complete.rdf">complete TV feed as RDF</a>, I can now write <a href="http://www.hackdiary.com/src/tv.py">query code</a> using <a href="http://www.redland.opensource.ac.uk">Redland</a> and Python to print out details of all films on TV this week.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackdiary.com/2003/09/07/xml-tv-listings-in-rdf/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Using OpenOffice Draw to author RDF</title>
		<link>http://www.hackdiary.com/2003/06/16/using-openoffice-draw-to-author-rdf/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-openoffice-draw-to-author-rdf</link>
		<comments>http://www.hackdiary.com/2003/06/16/using-openoffice-draw-to-author-rdf/#comments</comments>
		<pubDate>Mon, 16 Jun 2003 21:38:30 +0000</pubDate>
		<dc:creator>Matt Biddulph</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[rdf]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.hackdiary.com/?p=38</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>OpenOffice&#8217;s vector-drawing app has a very nice Visio-like &#8216;connector&#8217; tool that can link objects together with lines. It&#8217;s very easy to put together labelled directed graph diagrams and have the lines re-flow as you move the nodes around. It also has a <a href="http://xml.openoffice.org">well-documented XML file format</a>, which got me thinking that graph drawings could be converted into RDF automatically. I wrote some <a href="http://www.hackdiary.com/src/oo2ntriples.py">python code</a> to read in OO files and print out n-triples.</p>
<p><span id="more-38"></span><br />
A sample RDF graph drawn in OpenOffice looks like this:</p>
<p><img src="/misc/oomodel.png" /><br />
(<a href="http://www.hackdiary.com/misc/oomodel.sxd">original file</a>)</p>
<p>The output of the script run over this file is:</p>
<pre class="codeblock">_:a11055796046 &lt;http://example.com#pred2&gt; &lt;http://example.com#1&gt; .
_:a11055796046 &lt;http://example.com#pred1&gt; "text" .
&lt;http://example.com#1&gt; &lt;http://example.com#foo&gt; &lt;http://example.com#bar&gt; .</pre>
<p>Rectangles or ellipses with no text on them are taken to be bNodes. Those with text have URIs if they look like URIs (start with http:// or similar) and those with <i>&#8220;quoted text&#8221;</i> are literals (the quotes are discarded). Predicate URIs are taken from the text on the connectors.</p>
<p>The code uses the xpath processor from <a href="http://pyxml.sourceforge.net/">PyXML</a> and is written for python 2.2. It&#8217;s worth setting up the &#8216;Default&#8217; style in OpenOffice Draw so that it puts arrows on the end of each connector, otherwise it&#8217;s easy to get confused about which way round the connectors are.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackdiary.com/2003/06/16/using-openoffice-draw-to-author-rdf/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Screenscraping HTML with TagSoup and XPath</title>
		<link>http://www.hackdiary.com/2003/04/13/screenscraping-html-with-tagsoup-and-xpath/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=screenscraping-html-with-tagsoup-and-xpath</link>
		<comments>http://www.hackdiary.com/2003/04/13/screenscraping-html-with-tagsoup-and-xpath/#comments</comments>
		<pubDate>Sun, 13 Apr 2003 14:40:18 +0000</pubDate>
		<dc:creator>Matt Biddulph</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.hackdiary.com/?p=32</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>Often I find I need to pull out a bit of information from a webpage to reuse inside some code. I&#8217;ve always done this from the commandline using a combination of <a href="http://www.gnu.org/software/wget/wget.html">wget</a>, <a href="http://www.w3.org/People/Raggett/tidy/">HTML TIDY</a> and <a href="http://xmlsoft.org/XSLT/xsltproc2.html">xsltproc</a>. Recently I&#8217;ve been doing the same thing in program code using some very handy tools written in Java.</p>
<p><i>Note: the example code below has been <a href="http://www.hackdiary.com/archives/000041.html">updated</a>.</i></p>
<p><span id="more-32"></span><br />
The commandline version looks like this:</p>
<p><code>wget -O - http://example.com | tidy -asxml - | xsltproc somexsl.xsl -</code></p>
<p>where somexsl.xsl looks something like this:</p>
<p><code>&lt;?xml version='1.0'?&gt;<br />
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;<br />
&lt;xsl:output method="text" /&gt;<br />
&lt;xsl:template match="/"&gt;<br />
&lt;xsl:value-of select="/html/head/title" /&gt;<br />
&lt;/xsl:template&gt;<br />
&lt;/xsl:stylesheet&gt;</code></p>
<p>It&#8217;s also possible to do the same thing entirely in Java. John Cowan wrote a wonderful HTML parser called <a href="http://mercury.ccil.org/~cowan/XML/tagsoup/">TagSoup</a> that outputs SAX events using a do-the-best-I-can approach (&#8220;Just Keep On Truckin&#8217;&#8221; as he describes it) that attempts to make the best job of even the nastiest badly-written HTML. It produces output in cases when HTML TIDY gives up and tells you that errors in the input must be corrected before it can continue.</p>
<p>Because the SAX events just look like XML to any downstream code, it can be plugged into an XPath processor such as <a href="http://jaxen.sf.net/">Jaxen</a>. XPath processors need DOM trees to work with (because of the backwards-and-forwards-looking nature of the language which makes streaming processing difficult). <a href="http://www.jdom.org">JDOM</a> contains a nice class called SAXBuilder that can do this SAX-to-DOM conversion, and handily Jaxen can work with JDOM trees directly. So, the Java equivalent of the commandline above is:</p>
<p><code>URL url = new URL("http://example.com");<br />
SAXBuilder builder = new SAXBuilder("org.ccil.cowan.tagsoup.Parser"); // build a JDOM tree from a SAX stream provided by tagsoup<br />
Document doc = builder.build(url);<br />
JDOMXPath titlePath = new JDOMXPath("/h:html/h:head/h:title");<br />
titlePath.addNamespace("h","http://www.w3.org/1999/xhtml");<br />
String title = ((Element)titlePath.selectSingleNode(doc)).getText();<br />
System.out.println("Title is "+title);</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackdiary.com/2003/04/13/screenscraping-html-with-tagsoup-and-xpath/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>A Semantic Web shoebox &#8211; annotating photos with RSS and RDF</title>
		<link>http://www.hackdiary.com/2003/01/31/a-semantic-web-shoebox-annotating-photos-with-rss-and-rdf/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-semantic-web-shoebox-annotating-photos-with-rss-and-rdf</link>
		<comments>http://www.hackdiary.com/2003/01/31/a-semantic-web-shoebox-annotating-photos-with-rss-and-rdf/#comments</comments>
		<pubDate>Fri, 31 Jan 2003 12:52:17 +0000</pubDate>
		<dc:creator>Matt Biddulph</dc:creator>
				<category><![CDATA[photos]]></category>
		<category><![CDATA[rdf]]></category>
		<category><![CDATA[wordnet]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.hackdiary.com/?p=23</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had a proposal for a paper on RDF and annotating photos accepted for <a href="http://www.xmleurope.com/2003/">XML Europe 2003</a>. Yay! Here&#8217;s what I submitted:</p>
<p><span id="more-23"></span><br />
<a href="http://www.purl.org/rss/1.0/">RSS 1.0</a> (RDF Site Summary) is a well-known XML format commonly used for syndicating news headlines. By design it is an extensible format in which metadata expressed using any RDF vocabulary can be linked to its component items, while still maintaining compatibility with applications such as newsreaders that may be unaware of such vocabularies. This paper will discuss some interesting applications that can be built with RSS as a base. The annotation of collections of photographs is used as a case study.</p>
<p>Using an <a href="http://xmlns.com/2001/08/wordnet/">RDF representation of Wordnet</a>, the lexical database of English, we attach keywords to photographs to indicate what they objects they depict.  With simple inference logic, we create improved search engines over this data. For example, using the hypernym information in Wordnet to extrapolate from keywords, a search for buildings can find hotels, churches, houses and other related photographs. We can automatically build a Yahoo-like hierarchical web site of photographs organised by the meaning of their keywords.</p>
<p>Using the <a href="http://www.rdfweb.org/foaf/">Friend Of A Friend</a> (FOAF) vocabulary, we can record which photographs show particular people. Applications can then display related information with the photograph by using information gathered by spidering the existing network of FOAF information on the web.</p>
<p>Dynamically-built RSS channels are an ideal format for expressing search results; hence people who are interested could use newsreaders to subscribe to new pictures of any Wordnet noun, particular person or other metadeta criteria.  This RSS is easily turned into web pages using templating tools. A Blogger-like front page can be built by building an RSS &#8216;meta-channel&#8217; summary of the 10 newest photo collections.</p>
<p>Processing toolkits for RDF are available in many languages, and RDF&#8217;s natural integration with the web&#8217;s URI system makes it easy to build applications in a loosely-coupled style. Tools for this project built using the <a href="http://www.redland.opensource.ac.uk/">Redland</a> API in Perl and the <a href="http://www.hpl.hp.com/semweb/jena-top.html">Jena</a> toolkit in Java easily interoperate, using the RDF output of one as the input of another. New applications can be built by others using any language or environment with RDF and HTTP support (even Mozilla), without needing to be granted any special database access or other privileges.</p>
<p><i>Update: slides from this and other talks are <a href="http://www.hackdiary.com/cats.html#talks">available</a></i>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackdiary.com/2003/01/31/a-semantic-web-shoebox-annotating-photos-with-rss-and-rdf/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>To rss-dev about picdiary</title>
		<link>http://www.hackdiary.com/2002/12/17/to-rss-dev-about-picdiary/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=to-rss-dev-about-picdiary</link>
		<comments>http://www.hackdiary.com/2002/12/17/to-rss-dev-about-picdiary/#comments</comments>
		<pubDate>Tue, 17 Dec 2002 21:18:00 +0000</pubDate>
		<dc:creator>Matt Biddulph</dc:creator>
				<category><![CDATA[foaf]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[rdf]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.hackdiary.com/?p=10</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>A mail <a href="http://groups.yahoo.com/group/rss-dev/message/4580">sent to RSS-DEV</a> about work in progress on picdiary and its use of RSS for cataloguing photos.</p>
<p><span id="more-10"></span><br />
<b>Subject:  Re: [RSS-DEV] RSS and Libraries</b><br />
From:  mb@p&#8230;<br />
Date:  Tue Dec 17, 2002  9:18 pm</p>
<p>On Mon, Dec 16, 2002 at 05:14:33PM +0000, Libby Miller wrote:<br />
> On Mon, 16 Dec 2002, se teague wrote:<br />
> > I&#8217;m so happy to find this group! I&#8217;ve been developing an<br />
> > RSS/Perl/PHP/MySQL based rss program to generate news and events for the<br />
> > academic library I work for. i do have a question though; We haven&#8217;t<br />
> > tackled associating images with RSS items rather than channels. Has<br />
> > anyone done this before? Any best practices out there?<br />
><br />
> I rather like what Matt Biddulph&#8217;s been doing, e.g.:<br />
> <a href="http://www.picdiary.com/rss/barcelona_conf.rss">http://www.picdiary.com/rss/barcelona_conf.rss</a></p>
<p>Thanks Libby. To (over)elaborate:</p>
<p>My site (<a href="http://www.picdiary.com">http://www.picdiary.com</a>) is just a blog of collections of<br />
pictures. There&#8217;s not much text, the pictures are the main focus and<br />
just have a few lines of description. For a while it&#8217;s been lacking good<br />
search facilities, and was built out of static HTML.</p>
<p>I decided to use RSS 1.0 as the &#8216;container&#8217; format for each picture<br />
collection. RSS works just as well for pictures-as-items as it does for<br />
html-pages-as-items &#8211; they&#8217;re all just web links. So I wrote a bunch of<br />
simple perl scripts to read in RSS and display them as web pages. For<br />
example, The link Libby gave above can be viewed at<br />
<a href="http://www.picdiary.com/new/barcelona_conf?rss=barcelona_conf.rss&#038;page=1"></p>
<p>http://www.picdiary.com/new/barcelona_conf?rss=barcelona_conf.rss&#038;page=1</p>
<p></a><br />
or of course it can be viewed in a newsreader/aggregator.</p>
<p>If you look in the HTML source of that page, you&#8217;ll see a line like<br />
this:</p>
<p>&lt;link rel=&#8221;alternate&#8221; type=&#8221;application/rss+xml&#8221; title=&#8221;RSS&#8221;<br />
href=&#8221;http://www.picdiary.com/rss/barcelona_conf.rss&#8221;&gt;</p>
<p>This is following the rss autodiscovery standard so that spiders can<br />
find the RSS metadata from the webpage.</p>
<p>Using RSS 1.0&#8242;s RDF capability, I can add all sorts of metadata to<br />
channels and items with a few extra tags in the RSS. That particular<br />
feed uses FOAF to say that certain pictures are of people like Libby.<br />
Other (more recent) feeds such as<br />
<a href="http://www.picdiary.com/rss/highwalk.rss">http://www.picdiary.com/rss/highwalk.rss</a> also use Dublin Core to give<br />
the creator and date of the channel, and Wordnet to list keywords<br />
associated with each picture (item).</p>
<p>There&#8217;s a (prerelease) search engine that indexes all the RSS and uses<br />
the Wordnet terms (and exploits Wordnet&#8217;s synonym and hypernym<br />
relationships between words to give better search results) at<br />
<a href="http://www.picdiary.com/cgi-bin/search.pl?word=building">http://www.picdiary.com/cgi-bin/search.pl?word=building</a><br />
If you look &#8216;behind the scenes&#8217; of that search engine at<br />
<a href="http://www.picdiary.com:8180/rss/search?word=building">http://www.picdiary.com:8180/rss/search?word=building</a><br />
then you&#8217;ll see that the search results themselves are returned as<br />
dynamically-built RSS channels then rendered into HTML by some perl. So<br />
you could subscribe to the search results if you wanted to.</p>
<p>Ramble ramble. There&#8217;s quite a lot to say, feel free to followup or mail<br />
me off-list for more information.</p>
<p>Cheers,<br />
Matt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackdiary.com/2002/12/17/to-rss-dev-about-picdiary/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

