- From: Danny Ayers <danny666@virgilio.it>
- Date: Fri, 16 Jan 2004 12:27:00 +0100
- To: <public-rdf-in-xhtml-tf@w3.org>
- Cc: "Eric Scheid" <eric.scheid@ironclad.net.au>, "Morten Frederiksen" <mof-rdf@mfd-consult.dk>
Hi,
This partly a marginally off-topic fyi, partly a more on-topic hunt for a
code snippet. It's early days stuff, so any thoughts/suggestions would be
greatly appreciated.
I've been looking at applying essentially the same techniques as the
rdf-in-xhtml proposal on a proposed extension mechanism for the Atom
syndication language [1]. Within Atom, the key part here is the <link>
element, which will be used to point to external resources, e.g.
<link rel="comments" href="http://www.example.org/blog/entry1"
type="text/html">
There will be a set of standard values for rel [2], but the construct is
ideal for extension using the ideas of RFC 2731 [3] (Encoding Dublin Core
Metadata in HTML). I made a start at writing this up at [4] (without
reference to RDF for political reasons ;-), and Eric Scheid has begun
turning this into a formal RFC (which will eventually contain the RDF
mapping).
Following the same path as rdf-in-xhtml, something of the form above should
be transformable into RDF.
e.g. the Atom source:
<feed>
<link rel="schema.FOAF" href="http://xmlns.com/foaf/0.1/" / >
...
<entry>
<id>http://example.org/blog/post123</id>
<title>Fear of Vegemite</title>
<link rel="FOAF.depiction"
type="image/jpeg"
href="http://rdfweb.org/vegemite.jpg"
title="danbri with yeast extract" />
...
would map (in part) to something like:
<rdf:RDF xmlns:atom="http://purl.org/atom
xmlns:foaf="http://xmlns.com/foaf"
...>
<atom:entry rdf:about="http://example.org/blog/post123">
<foaf:depiction rdf:resource="http://rdfweb.org/vegemite.jpg" />
</atom:entry>
</rdf:RDF>
(btw, a link rev="..." attribute has been proposed, which would reverse the
role of the URIs in the statement).
Ok, that's the fyi. Now the snippet-hunt. I'll put it in terms of atom:link,
but I believe it would be essentially the same for xhtml:meta or whatever
else is used in rdf-in-xhtml.
Given that XSLT is a complete language, presumably it should be possible to
do this transformation in a generic fashion on arbitrary namespaces and
properties. So:
<link rel="schema.NS" href="http://example.org/namespace" / >
...
<id>http://example.org/subjectURI</id>
...
<link rel="NS.property" href="http://example.org/objectURI" />
=>
<rdf:RDF ...
xmlns:ns="http://example.org/namespace">
<rdf:Description rdf:about="http://example.org/subjectURI">
<ns:property rdf:resource="http://example.org/objectURI" />
</rdf:Description>
</rdf:RDF>
(the <id> element is a little clunky, but that looks like the way it's going
to be done in Atom)
I was wondering if anyone had a bit of code that did something like this -
I'm only a novice with XSLT, so it would take me a good while to figure out.
Cheers,
Danny.
[1] http://www.intertwingly.net/wiki/pie/FrontPage
[2] http://www.intertwingly.net/wiki/pie/LinkTagMeaning
[3] http://www.ietf.org/rfc/rfc2731.txt
----
http://dannyayers.com
Received on Friday, 16 January 2004 06:39:23 UTC