[uf-new] Revisiting grouping problem solution proposal: hset

Manu Sporny msporny at digitalbazaar.com
Mon May 14 21:57:31 PDT 2007

After collecting even more grouping examples and performing analysis on
those examples, it is quite evident that we need to support ordered,
unordered, sparse and non-sparse grouping. There are several options
that have been gathered over the past month, listed on the
grouping-brainstorming page:


Option #3 seems to have the least number of things working against it.
The major argument has been made against Option #3 is that it is a
"namespace" approach to ordering. Some have cited the following page for


After pouring over the links on the namespaces page, it seems to be an
invalid argument. Namespaces deal with global data markup. Grouping
option #3 (and variants) deal with local identification and grouping.
These are two completely separate solutions to two completely separate

Namespacing is a problem because it requires that all entities marking
up data agree on a GLOBAL name space and element names. The proposal put
forth in option #3 does not require that any entities agree on a global
name space. Element names do not need to be agreed upon either. Option
#3 is purely an identification mechanism.

I am retracting my support for Option #5 and suggesting that we go with
Option #3:


Martin, the hAudio test page that you have up is great. Could we try
looking at it using Option #3 as the group markup example? After using
the method that you currently have active on your page, I can't help but
feel that it isn't quite what we want. There is a reason you had to add
CSS to make the tabbing work correctly - you were using XHTML markup
methods that shouldn't be used to imply grouping.

So, will this work for grouping:

- Groups/Collections are identified with the following: hset
- Hierarchial ordering is performed by doing: hset.NAME
- Ordered grouping is performed by using xoxo

Here is an example:

hvideo hset.kbv1
  hvideo.title = Kill Bill Volume 1
  hvideo.collaborator = Quentin Tarantino (role=writer) [hCard]
  hvideo.collaborator = Uma Thurman (role=writer,role=actress) [hCard]
  hvideo.collaborator = Lawrence Bender	(role=producer) [hCard]
  haudio hset.kbv1.i_walk_like_jayne_mansfield
     haudio.title = I Walk Like Jayne Mansfield
     haudio.collaborator = The's (role=band) [hCard]
  haudio hset.kbv1.im_blue
     haudio.title = I'm Blue
     haudio.collaborator = The's (role=band) [hCard]
  haudio hset.kbv1.woo_hoo
     haudio.title = Woo Hoo
     haudio.collaborator = The's (role=band) [hCard]
  himage hset.kbv1.cover_image
     himage.title = Kill Bill Volume 1 DVD Cover Image (UK Release)

-- manu

More information about the microformats-new mailing list