namespaceDocument-8 Notes

[Updated 29 June 2005]

The TAG continues to discuss how best to proceed with namespaceDocument-8. As I mentioned before, it's been a while since we started this issue and the world has changed in a few ways since then.

At our most recent face-to-face, we discussed several aspects of the issue.

  1. Conceptually, the goal of namespaceDocument-8 is to associate a nature and a purpose with a URI. For example, to note that

    http://www.w3.org/2001/XMLSchema.xsd is (that is, has the nature of a) W3C XML Schema and is for (that is, has the purpose of) validation.

  2. There are several ways to achieve this goal. One way is with XLink (RDDL 1.0), another is by putting additional attributes on html:a elements (RDDL 2.0 draft), XHTML 2.0 proposes yet another mechanism for putting arbitrary metadata in XHTML. And if you ask any competent XML schema designer, she'll invent a new way for you.

  3. Practically, the goal of namespaceDocument-8 is to define a format (or family of formats) that applications can recognize when (if!) they dereference a namespace name and get a document back. In this way a schema processor could dereference the namespace name and find the ancillary resource that it needs to perform validation.

  4. The nature and purpose are properties of the URI (the resource). Some folks think the phrase "properties of a resource" just screams "RDF".

  5. GRDDL offers an approach that allows us to unify all these various aspects.

The idea is that you would publish any namespace document that you wanted with a GRDDL interpreter attribute that points to a transformation that extracts the simple RDF model that associates rddl:purpose and rddl:nature properties with each relevant resource.

In the general case, evaluating such a document requires running an XSLT transformation which is a very heavyweight solution. But in practice, a small number of “standard” RDDL vocabularies will emerge and applications can simply recognize the URIs of their GRDDL transformations.

Here, for example, are RDDL 1.0 and RDDL 2.0 documents with associated GRDDL stylesheets. (These are, in fact, modified copies of the XML Schema namespace document.)

Any processor that sees a pointer to http://www.w3.org/2001/tag/2005/06/23-rddl/grddl-rddl1.xsl can “know” that the document is a RDDL 1.0 document and simply look for the appropriate rddl:resource elements. Similarly, any processor that sees a pointer to http://www.w3.org/2001/tag/2005/06/23-rddl/grddl-rddl2.xsl can “know” that the document is a RDDL 2.0 document and simply look for the HTML anchors with rddl:nature and rddl:purpose attributes.

Summary

In brief, the proposal suggests that:

  1. Existing namespace documents using RDDL 1.0 would be updated to include a profile attribute on the head element and a link to the GRDDL stylesheet for RDDL 1.0.
  2. Existing namespace documents using RDDL 2.0 would be updated to include a profile attribute on the head element and a link to the GRDDL stylesheet for RDDL 2.0.
  3. Namespace documents in other formats can deploy their own GRDDL stylesheets using the same techniques (a new profile attribute and a new link). If these become popular, software can “learn” that markup and extract the information directly.

I think we'd probably suggest something along the lines of “don't invent a new format if you don't have to” unless we feel that's already covered by other good practice notes.