Hello Matthew,<br><br><div><span class="gmail_quote">On 7/11/06, <b class="gmail_sendername">Matthew Raymond</b> <<a href="mailto:mattraymond@earthlink.net">mattraymond@earthlink.net</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Charles Iliya Krempeaux wrote:<br>> Perhaps I can illustrate what I mean with an example.<br>><br>> (But first note that people can make up their own values for "rel" and<br>> "rev". But anyways, here's the example.)
<br>><br>> Let's say in a page, I have the following HTML code...<br>><br>> <li class="xoxo shows"><br>> <li><a rel="show" href=" <a href="http://show.example.com/">
http://show.example.com/</a>">Example IPTV<br>> Show</a></li><br>> <li><a rel="show" href="<a href="http://show2.example.com/">http://show2.example.com/</a>">Another Example
<br>> IPTV Show</a></li><br>> </li><br><br> (Not the best example, because "show" can be a verb.)<br><br>> The semantics here are.... The class-xoxo (on the <li>) says that I'm
<br>> giving a list here. And the class-shows says this thing is/has<br>> "shows". (So basically, I'm listing shows.)<br><br> Wouldn't this be a lot like using |rel| to define a media type?<br>Granted, it's more the example you're using than your general concept
<br>that's causing the confusion.</blockquote><div><br>Perhaps it's a poor example. But what I've gotten from the specs is that the "rel" attribute can be used in this way.<br><br> </div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
> The rel-show inside the "list of shows", says what's at the end of the<br>> "href" is a "show" for the list of "shows".<br>><br>> So,... if you go to the URL in the "href", you get a whole HTML page
<br>> with all sort of stuff in there. But what is the "show"? The whole<br>> page? Just part of it?<br><br> How about the element that has the ID that's in the URL in the |href|<br>attribute? That would take you directly to the element in question. I
<br>think |xml:id| is pretty much a standard now.</blockquote><div><br>Yeah, that would definitely be better from a developer's point-of-view. And there are times when you do do that.<br><br>But sometimes, you can't do that.
<br><br>Perhaps the HTML fragment that you want has no "id" on it. (And you have no control of the page any you can't add it.)<br><br>Or, even if it does have it, perhaps linking to that fragment makes for poor usuability. And in terms of usability it's better to link to the page (without the fragment identifier -- without the "id".) (
I.e., jumping to that part of the page would be "bad" from the usability point-of-view.... Or maybe doing so skips the ads on the page, and would mess up the business relation you have with that publishers.)<br>
<br>Or perhaps the thing you want there is spread out into multiple HTML fragments on the page. (I show an exampe of this later on in this e-mail.)<br> </div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
> Well, I then search the page for [class "show"]. (I look for something<br>> inside the page with a class with the same token/name use in the "rel"<br>> that linked there.)<br><br> What if the web page you're linking to has the class name
<br>"JoeMunchey" instead of "show"? You're requiring people to examine the<br>HTML of the target page in order to use this feature. The |rel|<br>attribute doesn't have this requirement; you need only to know what the
<br>nature of the target page is.</blockquote><div><br><br>What I'm saying is that peolpe would choose their "rel", "rev", and "class" names ahead of time. And everyone would agree on them.<br>
<br>And you'd have a (defacto) standard created. (A Microformat possibly.)<br><br>So that people who made a "show" (would be aware of the standard ahead of time and) would mark up their pages with the class-show. (And anything else the standard required or asked for.)
<br><br>And people would make their "list of shows" with rel-show point to each show in their list.<br><br>But,... people would agree on these ahead of time.<br><br><br>For an example that's gained some popularity, look at hCard.
<a href="http://microformats.org/wiki/hcard">http://microformats.org/wiki/hcard</a><br><br>People wanted to semantically denote "contact info". So they choose a set of class names to use (to do this) and some rules about them.
<br><br>Creating the standard is a somewhat arbitrury process. And requires humans to do it.<br><br>Although with opaque semantics, like the "rel" name matching the "class" name, you don't need a human intervention to parse much of it.
<br><br>Does what I'm saying make sense? Or should I explain it more?<br><br> </div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> If I find (just) one, then great, that's probably what I want to
<br>> concentrate on. (The other parts of the page are probably [irrelevant].)<br>> If not, I'll probably have to concentrate on the whole page.<br>><br>> (This is the idea of opaque semantics that I was talking about before.)
<br>><br>> Does that clear it up?<br><br> It seems like some sort of a link-to-class, rather than linking to a<br>URL + ID. I don't see the point. How is anyone going to see this on<br>their browser? Will it open multiple tabs? I'm not thrilled about giving
<br>authors the ability to open multiple tabs or windows in my browser<br>without my consent. Will it create a drop-down that lists all the<br>elements that are part of the class? This will not give me any<br>contextual information from the page that may help me figure out which
<br>element I want to look at. In fact, if I were creating a page about<br>various shows, most if not all of the information on the page would be<br>contextual or supporting information for the shows contained within.<br>
<br> Sorry, but I just don't see the use case.</blockquote><div><br><br>Alot of this is done for the benefit of machines (like browsers, spiders, search engines, etc).<br><br>It lets you add a bit of "semantic salt" to bring out the "meaning" in the HTML so that machines can understand the meaning of what you are saying too.
<br><br>I wrote a kind of intro to this a while ago. I've had people (who able web developers but know nothing about semantic HTML) say that it's easy to read, so I'll refer you to that... <a href="http://changelog.ca/log/2005/09/12/proposed-microformats-for-reputation-and-trust-metrics">
http://changelog.ca/log/2005/09/12/proposed-microformats-for-reputation-and-trust-metrics</a><br><br>(It's about trust metrics and reputation with HTML... but it should give you a use case for it. If it needs more explaining please let me know.)
<br><br><br>But getting back to one things you said... it is NOT always the case that you can "grab" something with an "id". Sometimes using "class" works better.<br><br>For example, consider if I wrote an article. And, in the HTML for that article, I mark certain parts of it as being part of a "summary" for it. For example....
<br><br><div style="margin-left: 40px;"><p><br> <span class="summary">Blah blah blah. Blah blah blah blah. Blah blah blah blah.</span> Blah blah.<br></p><br><p><br>
Blah blah blah blah blah. Blah blah blah blah. Blah blah blah blah. Blah blah. <span class="summary">Blah blah blah.</span><br>
</p><br><p><br>
Blah blah blah. Blah blah blah blah. Blah blah blah blah. Blah blah.<br>
</p><br></div><br>How would I grab that with an "id".<br><br>The class-summary's in there let me get at the summary that spread out in multiple fragments.<br> <br><br>Just one other example for good measure. Consider this code...
<br><br><div style="margin-left: 40px;"><p><br> I am <a href="<a href="http://changelog.ca/">http://changelog.ca/</a>">Charles Iliya Krempeaux</a>.<br></p><br></div></div><br>As a human you can understand what that means. You know it is a statement. You know "Charles Iliya Krempeaux" is a name. You know that "
<a href="http://changelog.ca/">http://changelog.ca/</a>" is the site for "Charles Iliya Krempeaux".<br><br>But a machines does not know that. It cannot figure that out.<br><br>That's where some "semantic salt" can be helpful. hCard's let us add a little semantics to make it so machines can figure out the "name" part of it too.
<br><br>So, if I were add an hCard I'd get...<br><br>
<div style="margin-left: 40px;"><p><br>
I am <a class="vcard fn url" href="<a href="http://changelog.ca/">http://changelog.ca/</a>">Charles Iliya Krempeaux</a>.<br>
</p><br>
</div>
<br>(The class-vcard, class-fn, and class-url are all part of hCard.)<br><br>With just that, machines now know that "Charles Iliya Krempeaux" is a name. And "<a href="http://changelog.ca">http://changelog.ca
</a>" is the site for "Charles Iliya Krempeaux".<br><br>I could even add more semantics....<br><br><div style="margin-left: 40px;"><p><br>
I am <a class="vcard fn url" href="<a href="http://changelog.ca/">http://changelog.ca/</a>"><span class="given-name">Charles</span> <span class="additional-name">Iliya</span> <span class="family-name">Krempeaux</span></a>.
<br>
</p><br>
</div>
<br>Now, not only does it know that "Charles Iliya Krempeaux" is a name. But it also knows that "Charles" is the person's "given name". That "Iliya" is that person's "additional name". And that "Krempeaux" is that person's "family name".
<br><br>(If you are coming from an XML point-of-view. Using the class names for semantics is almost like entangling XML within HTML. If that makes sense.)<br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
>> I would think something like "linktype" would be more appropriate.<br>>> That said, |rel| is pretty much already corrupted to mean that, and if<br>>> we introduced another attribute for the purpose of link types, it would
<br>>> either go unused for backwards compatibility reasons or it would<br>>> supplant both |rel| and |rev|.<br>><br>> I suggested "hrefclass" because we already have things like... "lang"
<br>> and "hreflang". It just seemed to follow the same style. (Since this<br>> seems to be just like the "class" attribute, expect we are applying it<br>> to what is at the end of the "href"... so "hrefclass".)
<br><br> That would be more appropriate for what you've described above. I<br>just don't see the point of it.<br></blockquote></div><br>Just a method of allowing web developers to add "semantic salt" to the HTML... and to allow for opaque semantics where the token/name used in the "class" attribute can be reused in the "hrefclass" too.
<br><br><br>See ya<br clear="all"><br><span style="font-family: courier new,monospace;">-- </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> Charles Iliya Krempeaux,
B.Sc.</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> charles @ <a href="http://reptile.ca">reptile.ca</a></span>
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> supercanadian @ <a href="http://gmail.com">gmail.com</a></span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> developer weblog: <a href="http://ChangeLog.ca/">http://ChangeLog.ca/</a></span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
___________________________________________________________________________</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> Make Television
<a href="http://maketelevision.com/">http://maketelevision.com/</a>
</span>