[uf-discuss] Canonical hCards (was: Search on CSS element)

Tantek Ç elik tantek at cs.stanford.edu
Tue Jan 23 14:09:53 PST 2007

On 1/23/07 1:05 PM, "David Janes" <davidjanes at blogmatrix.com> wrote:

> On 1/23/07, Tantek Çelik <tantek at cs.stanford.edu> wrote:
>> David Janes, you're right, we need to solve this problem.
>> I did some research on examples in the wild and possible approaches here:
>> <http://microformats.org/wiki/hcard-brainstorming#hCard_to_hCard_relationshi
>> ps>
>> Please take a look and add your thoughts on the problem-space and/or
>> examples you have found in the wild for each type of "canonicalization"
>> (there are more than one).
> Well, strangely enough I do have ideas in this area. I'm going to
> outline them here and move them into the wiki tomorrow, in case
> there's interesting discussion.
> My starting assumptions are:
> - no changes should be needed to a hCard that has a "url"
> - hinting is allowed, but not needed

I agree with those.

> - we follow the OpenID model of indirection [1]

I disagree because it involves invisible metadata.

We should avoid <link> and MUST avoid <meta> for that reason in

> The idea works like this:

Document Examples in the Wild first of people linking to their and others'
hCards, and that will drive the scope of the solution.

Brainstorming will be much better AFTER we have documented examples in the
wild and can then reason using those examples rather than hypothetical

> - a consumer sees a hcard, say
> <address class="author vcard">
> <a class="url fn" href="http://theryanking.com">Ryan</a>
> </address>
> - the consumer looks at "http://theryanking.com"
> - if the consumer sees a <link> element like the following, it knows
> there is a canonical hCard. The title must be the same as the "fn" (?)
> <link rel="identity.hcard" title="Ryan"
> href="http://theryanking.com/blog/contact/#vcard" />

I'm ok with entertaining a new rel value as indicated on
ps> but not ok with requiring or requesting use of <link> for this.

Any such links should use <a href> and be visible.

> - the consumer reads this page
> ("http://theryanking.com/blog/contact/") and finds the canonical hCard
> at id "vcard"

This part I believe a reasonable end goal.

> Notes:
> - if the non-canonical hCard url has a fragment and that points to a
> hCard, assume we are done

I don't think that can be assumed, because it is a 3rd party link (most
likely).  The 1st party may have changed the fragment at the destination

> - if there is no fragment in the non-canonical hCard url, a <link> is required

<link> should never be required, and should be avoided.

> - if the link does not have a fragment, the first hCard on the page is
> the one we use

That's a reasonable fallback, but before that, I'd even advocate looking for
the first <address> that is or contains an hCard on the page, since that's
following prescribed behavior from HTML4.

> - I've documented this here [2] (but discuss here please)
> - we could add an extra class element, say "canonical" that could be
> used in conjuction with the url to guarentee there is a canonical
> hCard to be found; I'm not really sure if this is necessary though.

I'm not sure that is necessary either, as the opinion of "canonicality" is
not from an item itself but rather from references to that item which tends
make it more like a relationship rather than just a class.

> Regards, etc...
> David
> [1] http://blogmatrix.blogmatrix.com/:entry:blogmatrix-2006-09-12-0001/
> [2] http://blogmatrix.blogmatrix.com/:entry:blogmatrix-2006-09-12-0003/

Thanks David Janes,


More information about the microformats-discuss mailing list