[uf-new] Opacity (Was: change haudio title to htitle.)

Toby A Inkster mail at tobyinkster.co.uk
Thu Aug 14 13:13:21 PDT 2008


> I think you misunderstand my proposal, I am not proposing that  
> anything
> should change in hAtom, hReview or any other existing Draft  
> Microformat,
> just hAudio, other in progress, or future microformat,  this is how  
> the
> proposal will work....

No, I don't misunderstand. Perhaps hAtom and hReview were perhaps a  
bad example on my part, as they distract from the core issue.

Consider some hypothetical new microformats: hFee, hFie, hFoe and  
hFum, each of which has an htitle. The same problem arises.

     <div class="hfee">
       <div class="hfie">
         <span class="htitle">Title 2</span>
         <div class="hfoe">
           <div class="hfum">
             <span class="htitle">Title 4</span>
           </div>
           <span class="htitle">Title 3</span>
         </div>
       </div>
       <span class="htitle">Title 1</span>
     </div>

An hFee parser with no knowledge of hFie, hFoe or hFum cannot know  
which title belongs to the outer hFee.

Basically, a good microformat parser has no choice but to know about  
all existing (and draft) compound microformats. (It doesn't need to  
have intimate knowledge - just know the root class name.)

So we basically have three choices:

1. Parsers need to be updated continually. Whenever a new draft  
compound microformat is added to the wiki, all the parsers need to be  
updated with the root class name.

2. Alternatively, there are no more microformats. We call it a day.  
That way, the parsers only need to be updated for actual improvements  
- not updated every time a new microformat comes out.

3. We provide a method for parsers to recognise unknown microformats  
as *being* microformats (and thus, as being opaque). Some possible  
ways of doing this: all new microformat root class names match a  
particular regular expression (e.g. class="haudio-container",  
class="hproduct-container', etc) or are required to include a common  
class name as well as their root class name (e.g. class="haudio mfo",  
class="hproduct mfo", etc). That way, all parsers just need to be  
updated to recognise this method, and new microformats can be freely  
created using it, without worrying about updating them every time a  
new format comes out.

-- 
Toby A Inkster
<mailto:mail at tobyinkster.co.uk>
<http://tobyinkster.co.uk>





More information about the microformats-new mailing list