Re: XHTML and RDF

On Wed, 25 Feb 2004, Steven Pemberton wrote:
>
> At http://www.w3.org/MarkUp/2004/02/xhtml-rdf.html is a discussion document
> about XHTML and RDF. It is intended to generate discussion about the role of
> semantic markup in XHTML, and how to allow the maximum of flexibility, while
> still allowing XHTML to be validated.

I am very interested in this approach. I like it. I fear the average Joe
author, however, may not.

My concerns are with the proliferation of namespaces. HTML4, XHTML1, CSS,
DOM2 and so forth have worked very well and are largely devoid of
namespaces. (The only ones that appear are "magic incantations" in the top
few lines, there only to satisfy the theorists.) These languages are now
very popular.

I posit that the lack of namespaces was not in small part responsible for
this success. That is to say, I would guess that every namespace added to
a language will dramatically reduce it's ease of use for authors. I know
you are aware that that is, for instance, one of the main complaints I and
others have had with respect to XForms. XHTML2 has so far avoided this
problem, as far as I can tell.

RDF has not.

I fear the result of merging RDF into XHTML in this way. I would encourage
the XHTML working group to continue with this approach, because I think it
has great potential, but I would strongly urge you to try to find ways to
avoid the prolifferation of namespaces. For example, there is a note in
the document:

   To make this consistent, the values in rel[XHTML-2.0-LINKTYPES] would
   all need to be namespace prefixed, for example xhtml2:next or
   xhtml2:stylesheet.

This could be solved, for instance, by having the QNames in this attribute
default to the local default namespace (which in most documents would be
the XHTML2 namespace).

If this was done, then another improvement would be to put a large number
of commonly used and/or requested semantics into this XHTML2 namespace.
For example, the very commonly used "author" semantic should IMHO be in
the XHTML2 namespace, not the DC namespace. The following:

   <html xmlns="http://www.w3.org/2003/xhtml"
         xmlns:dc="http://purl.org/dc/elements/1.1/">
     <head>
       <title>How to complete Memorandum cover sheets</title>
       <meta property="dc:creator">John Doe</meta>
     </head>
     ...

...would be much clearer as:

   <html xmlns="http://www.w3.org/2003/xhtml">
     <head>
       <title>How to complete Memorandum cover sheets</title>
       <meta property="creator">John Doe</meta>
     </head>
     ...

The theoretical problem of having two namespaces now covering the same
semantics is an issue, but I believe RDF has ways of expressing
equivalency for such cases, which could be used here. The important thing
is to get authors using this, which is much more likely to happen the
fewer namespaces they have to deal with, at least in the source.

Another change that could be of use involves the assigning of metadata to
specific subelements of the document.

You have an example that supercedes the cite="" attribute in a very
interesting way:

   <html xmlns="http://www.w3.org/2003/xhtml"
         xmlns:dc="http://purl.org/dc/elements/1.1/">
     <head>
       <title>Some quotes</title>
       <meta about="#q1">
         <link rel="dc:source">http://example.com/tolkien/twotowers.html</link>
       </meta>
     </head>
     <body>
       <blockquote id="q1">
         <p>They went in single file ... </p>
       </blockquote>
     </body>
   </html>

I think this is great, from a technical perspective.

I think it would be much more usable from an authoring perspective,
however, as something like (conceptual example only):

   <html xmlns="http://www.w3.org/2003/xhtml">
     <head>
       <title>Some quotes</title>
     </head>
     <body>
       <blockquote>
         <link rel="source">http://example.com/tolkien/twotowers.html</link>
         <p>They went in single file ... </p>
       </blockquote>
     </body>
   </html>

The key differences being the removed namespace, of course, but also the
change from a reference into another part of the file, to a reference at
that point in the file.

The common point here is removing indirection. Namespaces, IDREFs, and RDF
assertions about remote resources (even "remote" as in "lower down in this
document") are all examples of indirection. Authors hate indirection.
This is one of the reasons <font> and style="" are so much easier for
authors than stylesheets -- the former say "make this blue" (for
instance), the latter say "make those things blue".

If you can give RDF and the semantic Web to authors while hiding the
indirection of RDF, this could be very successful.

I would be very interested in being involved in this work.

-- 
Ian Hickson                                      )\._.,--....,'``.    fL
U+1047E                                         /,   _.. \   _\  ;`._ ,.
http://index.hixie.ch/                         `._.-(,_..'--(,_..'`-.;.'

Received on Wednesday, 25 February 2004 11:40:43 UTC