- From: Mark Birbeck <mark.birbeck@formsPlayer.com>
- Date: Sun, 23 Dec 2007 11:33:55 +0000
- 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 UTC