[uf-discuss] Comments from IBM/Lotus rep about Microformats

Mike Schinkel mikeschinkel at gmail.com
Thu Dec 7 15:45:06 PST 2006


> --- these values are not "reserved" across all of HTML. We 
> have a mechanism to prevent this, it is called Profile URIs, 
> if a parser comes across class="vcard" then the best way to 
> determine if this is a random CSS Style or a semantic value 
> is to see if there is a Profile URI that matched the XMDP of hCard.

Are you referring to this?
http://www.w3.org/TR/html401/struct/global.html#profiles

Is a Profile URI a well-known URI where I have to find semantics elsewhere
or if not what format is returned by the URI? (just trying to understand)

How can I disambiguate when two Microformats collide?  Let me give a
concrete example (one I will be working on in the future):

Looking at ADR, here is an example:

<div class="adr">
 <div class="street-address">665 3rd St.</div>
 <div class="extended-address">Suite 207</div>
 <span class="locality">San Francisco</span>,
 <span class="region">CA</span>
 <span class="postal-code">94107</span>
 <div class="country-name">U.S.A.</div>
</div>

Now let's say I want to use something called "RegionData" where Regions are
heirarchical:

<div class="region-data">
 <div class="region street" title="child-of-city">
	665 3rd St.; Suite 207
 </div>
 <span class="region city" title="child-of-state">San Francisco</span>,
 <span class="region state" title="child-of-country">CA</span>
 <span class="post-code">94107</span>
 <div class="region country" title="child-of-continent">U.S.A.</div>
</div>

Now, someone needs to use both:

<div class="region-data vcard">
 <div class="region street" title="child-of-city">
	<div class="street-address">665 3rd St.</div>
	 <div class="extended-address">Suite 207</div>
 </div>
 <span class="region city locality" title="child-of-state">San
Francisco</span>,
 <span class="region state region"  title="child-of-country">CA</span>

 <span class="post-code postal-code">94107</span>
 <div class="region country country-name"
title="child-of-continent">U.S.A.</div>
</div>

How do I disambiguate between region-data's "region" and vcard's "region?"
Assume I created my RegionData with no knowledge that vcard existed, because
unless there is a central clearing house to avoid name clashes, two
different groups will end up creating conflicting microformats with clashing
names.

> It is also only a hypothetical issue, so until this becomes a 
> real issue, we're not going to worry too much about it, but 
> we do have a system that solves this problem. So we aren't 
> "squatting" on any values.

Hypothetical issues sometimes have a way of "biting people in the ass,"
using a phrase Mark Baker recently said on the REST-discuss forum on another
topic. :)
However, this is not a hypothetical issue. A project I'm working on that I'm
not willing to go public with yet will make heavy use of microformats-like
markup, and I've already seen a lot of potential for collision such as the
one above, which is an example of a planned use.

But maybe Profile URIs can solve this.  Can you please explain how, using my
example?

-Mike Schinkel
http://www.mikeschinkel.com/blogs/
http://www.welldesignedurls.org/




More information about the microformats-discuss mailing list