A proof-of-concept mapping from Atom Syntax to RDF/XML using XSLT. See this thread on the atom-syntax mailing list for more details.
2005-04-06 — Updated to draft-07.
2005-03-21 — Updated to draft-06.
The easiest way to test the transform is by using the W3C's XSLT service. Enter the URI of the XSL file <http://djpowell.net/atomrdf/0.1/files/atom2rdf-07.xsl>, and the URI of an Atom/XML file (an example is here: <http://djpowell.net/atomrdf/0.1/files/example.xml>)
The transform accepts a parameter called contentbase, this supplies
the URI to use as a base for URI-references when xml:base is not specified, or
is specified as a relative URI-reference. A parameter called contentlang,
supplies the default language to be used when no other is in scope.
Alternatively you could run the transformation locally, using an XSLT processor such as Xalan.
| Feed | Atom Syntax | Atom/RDF |
| Julian Reschke's feed (draft-07) | XML | RDF |
| Simple example (draft-07) | XML | RDF |
| Tim Bray's feed (draft-04 — using older stylesheet, contains a few bugs) | XML | RDF |
The Atom to XSLT transform is located here: http://djpowell.net/atomrdf/0.1/files/atom2rdf-07.xsl
(A version of the mapping for draft-05 feeds is located here. A version of the mapping for draft-04 feeds is located here - it is exactly the same as draft-05 apart from the change of namespace)
The transform imports baselangutils.xsl to perform xml:base and xml:lang resolution.
The transform indirectly imports urires.xsl to perform URI-reference resolution. The resolver implements the rules from section 5 of RFC3986, and seems to pass the test cases: uritest.xml.
An RDFS schema for the output is located here: http://djpowell.net/schemas/atomrdf/0.1-EXPERIMENTAL/
You can download everything as a zip file here: http://djpowell.net/atomrdf/0.1/files/atom2rdf.zip
As this is an experimental mapping, it is liable to change without warning, here is the ChangeLog.