Re: class inheretance (Was: Future of HTML)

Dataweaver (traveler@io.com)
Thu, 26 Mar 1998 22:23:24 -0600 (CST)


Date: Thu, 26 Mar 1998 22:23:24 -0600 (CST)
From: Dataweaver <traveler@io.com>
To: HTML Structure list <www-html@w3.org>
cc: Liam Quinn <liam@htmlhelp.com>
Message-ID: <Pine.BSI.3.96.980326213145.25469C-100000@bermuda.io.com>
Subject: Re: class inheretance (Was: Future of HTML)

On Fri, 27 Mar 1998, I wrote:
> Something along the lines of:
> 
> <RELATION class="date" parent="datetime">
> <RELATION class="time" parent="datetime">
> 
> At that point, anything that acts on elements with the "datetime"
> class would also act on elements with either the "date" class or the
> "time" class, or both, while anything that acts specifically on
> elements with the "date" class would have no effect on elements with
> the "datetime" class or the "time" class (assuming that they also
> don't have the "date" class, of course...).

Jay responded:
> <RELATION class="G.M.T" parent="datetime"> 26/03/98
> <RELATION class="P.S.T" parent="datetime"> 03/26/98
> 
> ?

I was thinking more along the lines of:

<HEAD>
   :
   <STYLE ...>
   :
   .time { text-color: blue }
   :
   </STYLE>
   :
   <RELATION class="G.M.T" parent="time">
   <RELATION class="P.S.T" parent="time">
   :
</HEAD>
<BODY>
   :
   <SPAN class="G.M.T">12:30 PM</SPAN>
   <!-- "12:30 PM" will be rendered in blue -->
   :
   <SPAN class="P.S.T">4:30 AM</SPAN>
   <!-- "4:30 AM" will be rendered in blue -->
   :

Liam Quin also responded:
> Wouldn't normal HTML classes do the job?
> 
> <SPAN CLASS=date>A date</SPAN>
> <SPAN CLASS=time>A time</SPAN>
> <SPAN CLASS="date time">A date and a time</SPAN>
> 
> Remember that the CLASS attribute can take multiple classes.

Note that the intent of my proposal is not to find some method for
allowing an element to have multiple classes; I do understand that this is
already possible.  

My original example was a poor one.  The revised one above probably
illustrates my thoughts a bit better (thanks, Jay!).  

Note that _every_ G.M.T is, by definition, a time, so every element that
takes the G.M.T class would have to take the time class as well under the
current set-up.  By introducing a RELATION element or its equivelent (and
if someone can come up with a reasonable method for marking this up
_without_ introducing a new element, please speak up; I don't want to add
any more elements to HTML unless absolutely neccessary), you can specify
that one class is a subset of another, so that the inclusion of the
"subclass"  implies the inclusion of the "main class"; this has the
potential to reduce the size of a web page while increasing its clarity
and elegance. 

Again, I believe that this belongs in HTML instead of CSS because it deals
with the document's content rather than its layout.  If I'm wrong about
this, please correct me...

---- Jonathan Lang <traveler@io.com> ----