Don’t call me DOM

22 October 2004

HTML Profile-based GRDDL

Filed under:

I released few days ago an updated version of the XSLT-based GRDDL demonstrator that implements the HTML profile-based GRDDL solution, that DanC had implemented in Python and explained back in May.

The idea is rather simple: instead of relying on a specific profile ( completed with a bunch of <link rel="transformation"> elements to point to the GRDDL-izers for a specific Web page, it makes it possible to bind a set of GRDDL-izers to any profiles; this means basically packaging GRDDL-izers in re-usable sets, so that you don’t have to duplicate the same information over and over.

For instance, imagine a Weblog profile, identified by the URI; the goal of the profile is to enable one to incorporate FOAF-data, RSS 1.0, and GeoURL directly in the visible XHTML code of the a Weblog, using a set of well-defined markup conventions (as for instance XFN does for what is roughly FOAF data).

Right now, this is only useful if the software you’re using has been programmatically told to recognize this specific profile, and to interpret it following these specific markup conventions.

Using profile-based GRDDL, a software that wouldn’t know what the profile means could on a best effort basis simply try and dereference the profile URI, see whether it is bound to any GRDDL transformations, and if it is, use these to add meaning to the original web page.

This completed with tools like the Gnome Dashboard could yield some really funky applications, applied on the clickable Web as we know it today.

(This works well for the browsing tools, probably less so for authoring tools, esp. WYSIWYG ones, since you need to define a method for the authoring tool to learn about these conventions, for which I don’t think XSLT is descriptive enough; maybe a Schematron-based solution would work better?)

To see this applied in the field, you can now for instance give the W3C Home Page in the GRDDL demonstrator and get back the included RSS data (a bit buggy, because the underlying GRDDL-izer isn’t (yet) fully GRDDL compliant), or do the same with the QA Working Group Home Page; the nice thing is that these pages were using these profiles before GRDDL even existed, and I only needed to add the relevant GRDDL data to their HTML profile documents; on this topic, note that GRDDL is applied recursively in these cases, since for instance, the W3C home page profile is itself simply completed with RDDL (not to be confused with GRDDL) markup, itself interpreted through another GRDDL-izer… It’s OK if your head aches :)

Picture of Dominique Hazael-MassieuxDominique Hazaël-Massieux ( is part of the World Wide Web Consortium (W3C) Staff; his interests cover a number of Web technologies, as well as the usage of open source software in a distributed work environment.