- From: Mark Birbeck <mark.birbeck@x-port.net>
- Date: Fri, 20 Jul 2007 17:41:38 +0100
- To: "Ben Adida" <ben@adida.net>
- Cc: "Ivan Herman" <ivan@w3.org>, "W3C RDFa task force" <public-rdf-in-xhtml-tf@w3.org>
Hi Ben, > The treatment of @id has not changed recently :) But it seems to have...since it was always ignored before!! :) I noticed that @id was being included during the course of a recent discussion about something else, but I didn't want to divert from the issue being debated--so apologies for not flagging this up before. Anyway, we actually dropped @id way, way, back, for the simple reason that we thought it unwise to have behaviour such that the addition of simple, non-semantic, mark-up to a document should have the consequence of completely changing what triples are produced. If an author adds to their document something like @about or @resource then they are dealing with triples anyway. Similarly, if they add @rel they are adding something that has semantics in HTML, independent of RDFa. But with @id, an author might be adding the attribute so that they can better style an element, or to provide some navigation. In either case they are not really changing the semantics of their document, and it doesn't seem to be enough to justify changing the subject for generated triples. To illustrate, imagine you have written this: <a href="http://cc/license">license</a> You then place a predicate on this to make a triple with the current document as the subject: <a rel="license" href="http://cc/license">license</a> Now, as far as HTML is concerned, our interpretation of this in RDFa as being a statement about the current document having a 'license' predicate seems perfectly acceptable. Similarly, although some might not like this breaking the connection between the current document and the license: <a about="http://other/doc" rel="license" href="http://cc/license">license</a> you can at least argue that if the author put @about there, they must have done it consciously. So we haven't got HTML to back us up, but we can say that RDFa is moving on. But if the author does this: <a id="xyz" rel="license" href="http://cc/license">license</a> where is the HTML justification that this is no longer a statement about the current document? In HTML the @rel and @href still establish a relationship between the current document and the license. And as I said, the author will almost certainly have only added the @id for non-semantic reasons, such as making CSS rules easier, or to provide some navigation: <a id="footer" rel="license" href="http://cc/license">license</a> Unfortunately, I have found a couple of examples in the syntax document that do use @id to name nodes, so I realise this could be one of those debates that takes on a life of its own. After all, if the tablets passed down to us have it in. :) But it's worth pointing out that there are no references to this approach in the Primer, and in many places we actually use syntax like this (ignoring the out-dated use of @class, of course): <p class="cal:Vevent" id="xtech_conference_talk" about="#xtech_conference_talk"> ... </p> which illustrates clearly that @id doesn't set the subject. Note that in these examples the @id attribute is not needed, since it makes no difference whether the resource used for the subject actually 'exists' or not. So all the following are fine, and generate the same triples: <p class="cal:Vevent" about="#xtech_conference_talk"> ... </p> <p class="cal:Vevent" id="somethingelse" about="#xtech_conference_talk"> ... </p> My guess is that what happened was that at some point we _did_ agree to drop @id for the reasons I gave at the top, but that we inadvertently left one or two examples in the syntax document. If you look at this old draft of RDFa (I think it's the last one produced by myself and Steven before we started working on it within the joint group): <http://www.formsplayer.com/notes/rdf-a.html> you'll see that references to rules for @id are included, and are very explicit. See for example: 4.2.3 Using an attribute of type xml:id http://www.formsplayer.com/notes/rdf-a.html#div360738032 and: 4.2.4.3 Using the [context statement]'s id attribute http://www.formsplayer.com/notes/rdf-a.html#div360738032 The lack of parallel sections in the first syntax document that we produced together in the task force makes me certain that we dropped the use of @id, and we did it on purpose. Regards, Mark -- Mark Birbeck, formsPlayer mark.birbeck@x-port.net | +44 (0) 20 7689 9232 http://www.formsPlayer.com | http://internet-apps.blogspot.com standards. innovation.
Received on Friday, 20 July 2007 16:42:07 UTC