W3C home > Mailing lists > Public > public-rdf-in-xhtml-tf@w3.org > December 2007

Re: telecon Thursday, 1600 UTC

From: Mark Birbeck <mark.birbeck@formsPlayer.com>
Date: Sun, 23 Dec 2007 11:33:55 +0000
Message-ID: <a707f8300712230333q576f93fbl6002c79c6453866f@mail.gmail.com>
To: "Ivan Herman" <ivan@w3.org>
Cc: "Ben Adida" <ben@adida.net>, "Manu Sporny" <msporny@digitalbazaar.com>, RDFa <public-rdf-in-xhtml-tf@w3.org>

Hi Ivan,

> - the rules that you describe above have the merit;-) to be
> clear. I may
> have missed it before, but that is the first time I see them so
> clearly
> stated; thanks!!!!
>
> - but... why? I mean: why is it necessary to introduce an
> extra rule?
> Why isn't it good enough to equate it to the behaviour of
> @rel and that
> is it?

I'm pretty sure I agree with everything Ben has said, and I think he
has explained it particularly clearly. So I'll just look at one aspect
of what you say, which is that @instanceof is 'equivalent' to a @rel
with rdf:type as its value, and why do we need an additional rule. It
isn't actually the case that they are equivalent...at least not in
terms of the evolution of the idea.

This was mentioned a few times in my long emails to try to explain
this whole thing, which probably got lost. (I know...they were very
long emails...) But the evolution of RDFa was such that at one point
we had this:

  <div about="A">
    <link rel="[B]" href="C" />
  </div>

We decided at a certain point that link/meta as children of an element
would 'attach' a property to the element they were a child of, and if
the element they were a child of had no subject, one would be created.
In other words, we made link/meta children behave in a way that was
different to, say, span.

Which means that this:

  <div>
    <link rel="[B]" href="C" />
  </div>

is equivalent to this:

  <div about="_:a">
    <link rel="[B]" href="C" />
  </div>

but this is not:

  <div>
    <div rel="[B]" href="C" />
  </div>

Now, you might say 'hang on...I've never heard of this!', and you
might be right. :)

The reason is that although we never 'dropped' this behaviour of
link/meta in the 'big picture', when we (Ben, I think) discovered that
some browsers relocate any link/meta elements that appear in the body
to the head, we had to say that we couldn't support this feature, at
least for XHTML+RDFa.

But we've not abandoned this feature in principle, and for example, it
is still in XHTML 2+RDFa.

Anyway...the point is that although we are unable to support this
feature in XHTML+RDFa now, the fact is that @instanceof (and @class
before it) remains a shorthand for it. Which means that this:

  <div instanceof="C">
    ...
  </div>

is equivalent to this:

  <div>
    <link rel="rdf:type" href="C" />
  </div>

which as I said, is the same as this:

  <div about="_:a">
    <link rel="rdf:type" href="C" />
  </div>

This consistency is quite important, because I think we'll find going
forward that there are a number of situations where 'creating a new
item and giving it properties' is the right thing to do with certain
types of predicates.

(I won't go into the rationale here, for why link/meta were made to
behave differently to span/div, etc., but it's quite an important idea
in RDFa, and it solved a lot of problems that were extremely tricky
before we made that change. These problems are not obvious in
XHTML+RDFa, but they definitely are in XHTML 2+RDFa, and this solution
turned out to be extremely helpful there.)

Regards,

Mark

-- 
  Mark Birbeck, formsPlayer

  mark.birbeck@formsPlayer.com | +44 (0) 20 7689 9232
  http://www.formsPlayer.com | http://internet-apps.blogspot.com

  standards. innovation.
Received on Sunday, 23 December 2007 11:34:05 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:15:19 GMT