On 4/25/07, <b class="gmail_sendername">Danny Ayers</b> <<a href="mailto:danny.ayers@gmail.com">danny.ayers@gmail.com</a>> wrote:<div><span class="gmail_quote"></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Starting from your example:<br><br><div class="haudio grouping.reconnection"><br> <span class="collaborator hcard fn">Ammonite</span><br> <span class="work-title">Reconnection</span>
<br></div><br>[...]<br><div class="haudio grouping.reconnection.sunset"><br> <span class="work-title">Sunset</span><br></div><br><br>it could be simplified to:<br><br><div class="haudio">
<br> <span class="collaborator hcard fn">Ammonite</span><br> <span class="work-title">Reconnection</span><br></div><br>[...]<br><div class="haudio reconnection">
<br> <span class="work-title">Sunset</span><br></div><br><br>"grouping" isn't needed, because class already expresses a kind of set<br>membership. There is still the problem of how to connect the item to
<br>its container, easiest would be:<br><br><div class="haudio" id="reconnection"><br> <span class="collaborator hcard fn">Ammonite</span><br> <span class="work-title">Reconnection</span>
<br></div><br>[...]<br><div class="haudio reconnection"><br> <span class="work-title">Sunset</span><br></div><br><br>However personally I think I'd go a step further and make everything
<br>more explicit, to avoid the parser having to do infer the association:<br><br><div class="haudio" id="reconnection"><br> <span class="collaborator hcard fn">Ammonite</span>
<br> <span class="work-title">Reconnection</span><br></div><br>[...]<br><div class="haudio reconnection"><br> <span class="work-title">Sunset</span><br> Part of <span class="part-of"><a name="#reconnection">Reconnection</a></span>
<br></div></blockquote><div><br>'Mixing' class and id values seems wrong to me, ie: album's id="reconnection" and song's class="[...] reconnection".<br><br>The other problem I can see with this is that in a lot of cases where this non-localized grouping becomes necessary, adding language such as "Part of ..." would be redundant from a human reader point of view; you would essentially be requiring authors to use such lexical conventions in order to make use of grouping when in reality, based on the context of the human-readable content it should be obvious that the song we're talking about is part of the album we're also discussing. Requiring the addition of "Part of [container name]" to the human readable content is redundant, however without it, making use of an <a> tag to link the song to it's album's markup (which seems to be a very simple and elegant solution to linking a member with it's container) becomes counter-intuitive: you would need to link the text for the song to the markup for the album, which would be confusing for humans since 'songName' would logically be assumed to link to further details/etc for that song, as opposed to the album it belongs to.
<br><br>What about this:<br><br><div class="haudio reconnection"><br></div> <span class="collaborator hcard fn">Ammonite</span><br> <span class="work-title">Reconnection</span>
<br></div><br>[...]<br><div class="haudio reconnection.member"><br> <span class="work-title">Sunset</span> <br></div><br><br>Very similar to Manu's previous example of using class values like '
grouping.albumname', however the suffix approach seems more direct, intuitive and all-purpose...<br><br>I'm not sure if using a 'class-suffix' like this is generally acceptable, but it seems to solve most of the problems that have been discussed:
<br><br>1) Uses class instead of id.<br>2) Supports the class attribute being used as an implicit indication of set-membership.<br>3) Indicates the direction of the relationship, ie: which item is the container, as opposed to just using 'albumname' as a class value for both album and song, which would ambiguously indicate that both things are part of a group called 'albumname'.
<br>4) Is subject-agnostic - this approach can be used for any type of grouping where one item is contained by another.<br>5) Works for N-N relationships, ie: class="album.member soundtrack1.member soundtrack2.member
".<br><br>As for the issue of hiding meta-data from the humans, I don't think that's what's happening. If we're discussing an album, and in the course of that discussion mention a track from that album, I think we can assume that the human consumers of the rendered html will understand the relationship between album and song. Adding meta-data to the markup with a design pattern/uF to indicate the nature of that relationship is simply explaining to the machines what the humans already understand.
<br><br>Am I missing anything?<br></div>