[uf-discuss] origin of class attribute approach in microformats ?

Tantek Ç elik tantek at cs.stanford.edu
Fri Jul 21 19:15:14 PDT 2006


Guillame,

Since you put it in the subject, regarding semantic class names, see:

* http://www.w3.org/QA/Tips/goodclassnames
* http://tantek.com/log/2002/12.html#L20021216
* http://meyerweb.com/eric/thoughts/2004/07/18/competent-classing
* http://tantek.com/log/2004/07.html#d20t2359


Regarding your questions about "namespaces" I should first note that the
whole "namespaces" question is enough of a waste of time for the list that
it is actually off-topic.

Please read:  http://microformats.org/wiki/mailing-lists


In short this has been discussed many times on the list already, and I'll do
my best to summarize the conclusions:


The mixed namespace approach has already been tried by *numerous* others
since 1998 and has failed on the Web.

http://blog.davidjanes.com/mtarchives/2005_10.html#003410

OTOH, XHTML + semantic class names has seen widespread adoption among the
web authoring/design/IA/publishing community.  Microformats is leveraging
the approach that is both working better and frankly dominating in practice
on the Web.

http://microformats.org/blog/2006/01/09/tim-bray-on-creating-xml-dialects/


A bit longer:

1. Namespaces are actually a *huge* negative.  Search for:
 a. namespaces Tower of Babel
 b. namespaces syntactic vinegar

2. Namespaces are actually *not* well supported in sufficient modern
browsers, nor even sufficiently with enough W3C technologies or test suites
as compared to (X)HTML + semantic class names + CSS.

3. XML elements are limited to one "name" and thus semantic, whereas the
class attribute is a space separated set of names and can thus capture
multiple semantics, providing a much more flexible semantic structure for
authors, and greatly aiding in following DRY.  Note that your example had to
duplicate the "list" semantic with <ul> and <ia:grocerylist>.

4. There are 1000s more web authors/developers that write/understand (X)HTML
+ semantic class names + CSS as compared to the number of folks that
write/understand either plain or namespaced XML.

5. It's the publishers that matter, not the programmers.  Or to put it
another way, programmers can solve problems once and share open source.
Publishers have to keep solving markup/publishing problems for content and
design numerous times continuously, and have much less chance of being able
to share their solutions.  That plus the fact that there are 1000s more web
designers than programmers plus simple economics means the best solution is
to optimize for ease of publishing, and let iterative open source solve the
programming problems.


Regarding the "advantages" you give:

1. XML Schema / XSD usage has not been shown to provide any advantage with
practical publishing on the Web.
2. Code generation is the wrong pain point to optimize for.
3. You can easily filter out the elements/properties of a microformat as
well, and there are numerous implementations documented on the wiki which do
so.
4. Multiple tags are still multiple elements, not overloading elements.
5. Most of those "XML" technologies are totally irrelevant to people who
actually author/design/publish content.


Hey Brian, should these all be in the FAQ?

Thanks,

Tantek


On 7/21/06 4:35 PM, "Guillaume Lebleu" <gl at brixlogic.com> wrote:

> Hello,
> 
> I'm new to this list. Since I have heard about microformats last year, I
> have always wanted to understand why the approach has evolved to become
> the following "class attribute-approach":
> 
> <HTML>
>   <body>
>       <ul class="grocerylist">
>           <li class="fruit">Orange</li>
>           <li class="meat">Chicken</li>
>           <li class="vegetable">Corn</li>
>       </ul>
>   </body>
> </HTML>
> 
> instead of the following mixed-namespace approach:
> 
> <HTML xmlns:ia="http://someindustrystandard.org">
>   <body>
>       <ul>
>           <ia:grocerylist>
>           <li><ia:fruit>Orange</ia:fruit></li>
>           <li><ia:meat>Chicken</ia:meat></li>
>           <li><ia:vegetable>Corn</ia:vegetable></li>
>           <ia:grocerylist>
>       </ul>
>   </body>
> </HTML>
> 
> Both approaches work fine in a browser (firefox at least), and both
> approaches could be generated from the same XML. But having an XML
> background I see that the second approach has the following advantages:
> 
>   * I can define my microformat in a formal XML schema language (XSD,
>     etc.) - Is there a way to describe formally microformats?
>   * I can generate code from that schema
>   * I can filter out easily all the elements of a namespace, validate
>     it with my schema, and bind it to this code
>   * I can overload elements with multiple tags (ex.
>     <ia:fruit><other:example>Orange</other:example></ia:fruit> and
>     attributes <ia:fruit color="orange" size="2">Orange</ia:fuit>
>   * ... and in a nutshell, I can reuse a lot of the XML technologies
>     out there.
> 
> Can a microformat historian help me figure out why things came to be the
> way they are (attribute class) not the other way (mixed-namespace
> approach) ?
> 
> Thank you
> 
> Guillaume
> _______________________________________________
> microformats-discuss mailing list
> microformats-discuss at microformats.org
> http://microformats.org/mailman/listinfo/microformats-discuss



More information about the microformats-discuss mailing list