- From: RDF Web Applications Working Group Issue Tracker <sysbot+tracker@w3.org>
- Date: Mon, 20 Feb 2012 04:07:16 +0000
- To: public-rdfa-wg@w3.org
ISSUE-131 (@href overrides @content): Specification bug where @href accidentally overrides @content [3rd LC Comments - RDFa 1.1 Core] http://www.w3.org/2010/02/rdfa/track/issues/131 Raised by: Niklas Lindström On product: 3rd LC Comments - RDFa 1.1 Core I've come across something surprising when helping some people apply RDFa 1.1 recently. At first I thought it was a bug in a distiller, but this behaviour is actually defined in "7.5 Sequence", step 5. Given this markup: <div vocab="http://schema.org/" about="#me"> <a property="email" href="mailto:peter@peterkrantz.se" content="peter@peterkrantz.se">Send me an e-mail</a> </div> I was expecting: <#me> schema:email "peter@peterkrantz@se" . But the actual result is: <mailto:peter@peterkrantz.se> schema:email "peter@peterkrantz.se" . Meaning not only that @href has precedence over @content, but, more importantly, that @href suddenly behaves like @about within the same element! While resource attributes of course set the subject for *nested* RDFa, I thought that we didn't want them to swap roles like this? (Notice that my point here is this swapping behaviour. (And that I expected @content to overrule @href, given that they both represent object values.) To get the expected results I can of course e.g. add an empty @rel, or wrap the link in a span and put the @property there instead. Or override @href with either @resource="#me" *or* @about="#me".) In fact, I notice also that this: <a property="email" href="mailto:peter@peterkrantz.se" datatype="">peter@peterkrantz.se</a> Produces this: <mailto:peter@peterkrantz.se> schema:email <mailto:peter@peterkrantz.se> . That is, merely adding @datatype="" makes @href supply both subject and object! For context, compare the above to: <span property="email" content="peter@peterkrantz.se"></span> And: <a property="email" href="mailto:peter@peterkrantz.se">Send me an e-mail</a> Where @content and @href clearly are objects. I wonder if this is a bug in the spec, or intended behaviour? As I recall, we *did* discuss behaviour like this when we changed @src into a resource attribute. That is, while @src behaves like a resource attribute (supplying the object) here: <img property="image" src="images/peter_krantz.jpg" /> It could behave like @about (i.e. supply the subject) here: <img property="rdfs:label" src="images/apple.jpg" content="An apple" /> And it actually does! But I thought that we decided against it, given that it would be confusing in general (as illustrated above).
Received on Monday, 20 February 2012 04:07:18 UTC