On Apr 19, 2006, at 12:58 PM, Scott Reynen wrote:
On Apr 19, 2006, at 2:23 PM, Ryan King wrote:

That's right. The reason you can't collapse a 'vcard' class name and its 'fn' class name is that it makes putting a 'vcard' class name inside another one becomes ambiguous.

I've seen this explanation a few times, and I've never personally found the separation of vcard and fn to be a problem, but I don't understand the explanation.

An illustration, from earlier in this thread:

<div class="vcard">
    <span class="fn">Tantek Çelik</span>
    <span class="agent vcard">
<!-- the order is actually irrelevant here class="vcard agent" is synonymous -->
       <span class="fn">Ryan King</span>
    </span>
</div>

Which hcard does the 'agent' belong to?

Now to make it worse:

<div class="vcard">
    <span class="fn">Tantek Çelik</span>
    <span class="agent vcard fn">Ryan King</span>
</div>

How about the second fn?

We can't collapse these properties, because it makes it impossible for us to unambiguously nest microformats.

Couldn't the spec prevent such ambiguity simply by stating that vcard and fn in the same node should be treated by parsers as an fn node within the vcard node.

I don't think its wise for us to special-case fn. It will only cause more confusion. Even if you allow this special case, my second example above is ambiguous.

-ryan

_______________________________________________
microformats-discuss mailing list
[email protected]
http://microformats.org/mailman/listinfo/microformats-discuss

Reply via email to