[whatwg] microformats incompatible with WebApps 1.0 ?
ryan king
ryan at theryanking.com
Mon Dec 11 18:53:53 PST 2006
On Dec 11, 2006, at 6:25 PM, Ian Hickson wrote:
> On Mon, 11 Dec 2006, Michel Fortin wrote:
>> And since profiles can now be applied on individual elements,
>> there's no
>> real need to keep the redundant "vcard" class name since it could
>> easily
>> be implied by the profile being specified on that element:
>>
>> <div profile="hcard">
>> <a class="url fn" href="http://tantek.com/">Tantek Çelik</a>
>> <div class="org">Technorati</div>
>> </div>
>>
>> How is that?
>
> It's one step away from:
>
> <div class="vcard">
> <a class="url fn" href="http://tantek.com/">Tantek Çelik</a>
> <div class="org">Technorati</div>
> </div>
>
> ...which would work just as well, and has the added advantage that
> it is
> compatible with how hCard is used today.
Indeed. Michel's proposal is equivalent to your example, Ian.
I think there's a middle way here that would work and maps to current
practice. In our design of microformats, we make sure to do 2 things:
1. Use the same class name to mean the same thing, no matter what
context. So, 'fn' is always a 'formatted name', no matter what
microformat you're working with.
2. In the case of structured microformats (more than one value), we
use a very rare term as a root class name. In the case of hCard, the
root class name is 'vcard', which is rarely used in the wild for
anything other than hCard. This greatly reduces the probability of
collisions.
Now, if I were to register the class name 'vcard' for use with hCard,
would I really need to register all of it's child properties, like
'given-name' or 'family-name'? I don't think I should, because those
only make sense when contained within an element with a class name of
'vcard'. We have a flat namespace, but it's disambiguated by context.
So, here's a possible middle way:
Keep profiles, but ditch the profile attribute. Instead of
registering class names, register *root* class names and map them to
XMDP profile URLs and documents[1]. I believe this is essentially
equivalent to today's practice, though better organized.
This means that community efforts like microformats.org can go ahead
without interruption and that individual publishers can register
their own root class names. For example, yahoo could register 'yahoo-
com' then use this on all of their pages:
<body class="yahoo-com">
...
</body>
The first question is likely, "what if yahoo wants to use hCard?"
Well, there's already plans to add the ability for one XMDP document
to refer to another (this reminds me that I need to bug Tantek about
that :D). So, Yahoo's XMDP document could point at the hCard XMDP
document in order to make use of it on their website.
-ryan
1. http://www.gmpg.org/xmdp/
More information about the whatwg
mailing list