Superseded by Reboot!, 04 Mar 2016.
To probe a hole we first use a straight stick to see how far it takes us. To probe the visible world we use the assumption that things are simple until they prove to be otherwise.
This site uses RDF to manage a collection of mostly XML resources. These resources are transformed using XSLT and presented in HTML and RSS. Most of the pages are built in a staging area so that mostly static pages are served. Server-side includes are used to keep the navigation information on each page up-to-date without rebuilding every page every time the navigation changes.
This metadata is extracted by the build process. In addition to the intrinsic metadata, each article on the site is catagorized into one or more topics. The set of topics is taken from a defined taxonomy.
This metadata is collected into an RDF description about each resource:
<t:Article rdf:about="..."> <t:indexterm rdf:resource="..."/> <t:indexterm rdf:resource="..."/> <cvs:date>...</cvs:date> <dc:creator rdf:resource="..."/> <dc:date>...</dc:date> <dc:description>...</dc:description> <dc:format>application/xml</dc:format> <dc:rights>...</dc:rights> <dc:subject rdf:resource="..."/> <dc:subject rdf:resource="..."/> <dc:title>...</dc:title> <dc:type rdf:resource="..."/> </t:Article>
The site navigation (topics, subjects, and dates) is constructed from the metadata collection. The central RSS feed is built along with the navigation.
Finally, each page is assembled by the server for presentation. The article, navigation, and page footer are pulled together and shipped to the browser with some CSS. (You can add my voice to the general rant about CSS support in browsers. This site looks pretty good in Mozilla and other browsers with good CSS support. It looks pretty bland in IE, but I think it's legible.)
Pages that are served directly in XML (RDF pages, the RSS feed, and
the FOAF page) include a pointer to an XSL stylesheet. They are rendered
on the client side by browsers that support the
xml-stylesheet processing instruction.
If that all sounds interesting, you can build it yourself.