I'd like to bring up a real world example here.

Tantek wrote:
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.

On every page of my site (http://adactio.com/), I have an hCard that uses the address element:

<address class="vcard">
<a href="http://adactio.com/"; class="url org">Adactio</a>
is the online home of
<a href="mailto:[EMAIL PROTECTED]" class="email fn">Jeremy Keith</a>, a
<span class="title">web developer</span>
living and working in
<span class="adr">
<span class="locality">Brighton</span>,
<span class="country-name">England</span>
</span>.
</address>

I believe this is the correct use of the address element. Whichever page of the site you find yourself on, the address element contains the contact details of the site owner: me.

On my contact page, I have a longer hCard:

<div class="vcard">
<h3>Contact Details</h3>
<a class="fn url" href="http://adactio.com/";>
<span class="given-name">Jeremy</span>
<span class="family-name">Keith</span>
</a>
<div class="adr">
<span class="street-address">Flat 7, <br />57/58 Brunswick Road</ span><br />
<span class="locality">Hove</span>
<a class="postal-code" href="http://maps.google.co.uk/maps?q=bn3+1dh"; title="map">BN3 1DH</a><br />
<span class="country-name">England</span>
</div>
<p><abbr title="Telephone">Tel</abbr>/<abbr title="Telefax">Fax</ abbr>: <a class="tel" href="callto:+44-1273-771485">+44 1273 771485</ a></p> <p class="tel"><span class="type">Mobile</span>: <a class="value" href="callto:+44-7792-069292">+44 7792 069292</a></p>
</div>

Here, I'm not using the address element (though I could) but this longer hCard should probably be considered the authoritative one (or it should be merged with any other hCard data collected).

I *could* use rel="me" on the first hCard (the one that appears on every page) to point to the contact page:

<a class="url" href="http://adactio.com/contact/"; rel="me">

But that feels a little uncomfortable: usually, I would point rel="me" to the front page of my site (and that's exactly what I have done with hCards in other places like http://bulletproofajax.com/ )

So although I have a single location for an authoritative hCard, none of my "lesser" hCards are connected to the authoritative version.

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

To which, Tantek replied:
<link> should never be required, and should be avoided.

And I tend to agree.

I have a feeling that the answer lies with rel="me".

In my case, if I were to update just the address element that appears on the home page with a link of rel="me" pointing to my contact page, then all roads would (eventually) lead to my authoritative hCard:

* Every page of adactio.com has an hCard with a "url" value pointing to the front page, * All of my hCards on other sites (e.g. the Bulletproof Ajax site, blog comments etc.) points to the front page of adactio.com, again using the "url" value, * The front page of my site points to my authoritative hCard using rel="me".

Brian described the behaviour of spidering tools and wrote:
By doing this, we introduce NO new technology or mark-up to find
authoritative data. We are using already existing microformats (XFN),
the data is visible using @rel instead of <link> it allows for the
market to compete and build better spiders.

I agree. And I think I'll go and update the front page of my site right now. :-)

But Brian also raised another point:
The problem arrises when multiple hCards are
encountered on a page - which is the authorative hCard?

This is the case with http://adactio.com/contact/
As well as the "global" hCard (in the address element), the page also contains the authoritative one.

So what I may need to do is expand the href I use in a rel="me" link to point not just to my contact page, but specifically to a page fragment:

<a class="url" href="http://adactio.com/contact/#vcard"; rel="me">

As long as I uniquely identify my authoritative hCard with that unique identifier (id="vcard") then, at least in theory, a spider should be able to tell which hCard is authoritative even if more than one hCard is on the page.

Note that I'm not suggesting a *specific* value like "vcard" for the fragment identifier, just that the fragment identifier corresponds to the rel="me" url. So I could just as easily use:

<a class="url" href="http://adactio.com/contact/#foobar"; rel="me">

...as long as I then markup my authoritative hCard within id="foobar".

Anyway...

I started this email just to throw a real-world example out there, but talking through it has helped me clarify what I think I need to do.

Before I finally shut up, I wanted to make sure that this link gets mentioned at least once in this discussion:

http://gmpg.org/xfn/and/#idconsolidation

Bye,

Jeremy

--
Jeremy Keith

a d a c t i o

http://adactio.com/


_______________________________________________
microformats-discuss mailing list
microformats-discuss@microformats.org
http://microformats.org/mailman/listinfo/microformats-discuss

Reply via email to