W3C home > Mailing lists > Public > www-style@w3.org > January 2003

Re: XBL is (mostly) W3C redundant, and CSS is wrong W3C layer for semantic behavior *markup*

From: Ian Hickson <ian@hixie.ch>
Date: Wed, 1 Jan 2003 18:23:04 +0000 (GMT)
To: Shelby Moore <shelby@coolpage.com>
Cc: "www-style@w3.org" <www-style@w3.org>
Message-ID: <Pine.LNX.4.21.0301011612470.15896-100000@dhalsim.dreamhost.com>


Before going any further with the other points of this discussion, we
have to clear up the term "semantic binding", as it seems to be the main
point which we disagree about.

I don't understand what you think the difference is between a semantic
binding and a non-semantic binding.

Could you explain this?

A straight forward definition of "non-semantic binding" first, followed
by a straight forward definition of "semantic binding", would be most
useful.


On Wed, 1 Jan 2003, Shelby Moore wrote:
>
> However, making new widgets from existing XUL widgets (the main
> original purpose of XBL) is indeed declaring entirely new semantics.

The original purpose of XBL was not to make new widgets out of other
widgets. The original purpose of XBL was to take elements with special
semantics ("checkbox", "button", "listbox", etc) and give them
renderings and behaviour.

In Mozilla, the UA default rendering of these widgets is implemented
using XBL, but that need not be the case: any scripting or programming
language could be used. For example, Mozilla currently implements the
HTML form controls using C++.

It doesn't matter what language is used to specify the event handlers,
the semantics of the elements don't change.


> I agreed XSLT has power to do bad design, but it not sitting at same
> layer as DOM CSS and DOM XHTML.

I would be very interested in what you think the W3C layers are. Could
you draw a diagram in the vein of the one I drew, showing how the
following specs and components fit together?:

   TCP/IP, HTTP, URI, XML, XSLT, MathML, XHTML, CSS, DOM, Output Devices
   (Rendering), Input Devices (Events), and The User

As from my previous e-mail, this is what I think the diagram should be
(except I haven't put XSLT in there):

                               _ The User
                               /|        \
                              /           \
                             /            _\|
     User Agent:   Output Devices        Input Devices
                    (Rendering)             (Events)
                        /|\                    |
                         |                    \|/
   Presentation:        CSS                   DOM
                          \                   /
                           `-------. ,-------'
                                    |
      Semantics:              MathML, XHTML
                                    |
         Syntax:                   XML
                                    |
      Transport:                HTTP, URI
                                    |
        Network:                 TCP/IP


I would be very interested in knowing what you think it should be.


>> [XBL] does not _replace_ anything.
>
> Of for sure it can replace.  It can augment.  So can XSLT do both.

XBL _cannot_ replace. This is quite important.

For example, take:

   <xsl:template match="dfn">
    <cite>
     <xsl:apply-templates/>
    </cite>
   </xsl:template>

The equivalent is *not possible* in XBL. (Not due to a design flaw, but
because XBL isn't about replacing semantics.)


------------------------------------------------------------------------

>> Or, we could take an existing language, like, say, XBL, or HTCs,
> 
> Ian afaik there is no widespread use of these technologies
> commercially.

For what it's worth, at least 2 million people (some estimates say it is
more like 10 million) use XBL on a regular basis in a commercial product
without knowing it.


> If you don't understand that basic point and it ramifications, then it
> is hopeless to discuss it with you.

Please, if I don't understand the basic points, teach me.


>>>> [snip an explanation of why changing JavaScript objects is not a
>>>> solution when the question is how to extend a DOM interface]
> 
> Your summary is slanderous and *****FALSE******.  If you are going to
> delete something, then just put [...].  Don't try to win the debate by
> writing fiction, else I will hold you in contempt!!!!

...and:

>>>> [snip explanation of why dynamic DOM changes need to be reflected
>>>> in whatever binding system is used for the presentation layer]
> 
> Please stop proganda what is written by someone else.   That is very
> contemptious.  Either delete my stuff and leave only [...], or do not
> delete it.

In both of these cases, the text I snipped and summarised was my own.

-- 
Ian Hickson                                      )\._.,--....,'``.    fL
"meow"                                          /,   _.. \   _\  ;`._ ,.
http://index.hixie.ch/                         `._.-(,_..'--(,_..'`-.;.'
Received on Wednesday, 1 January 2003 13:23:06 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:18 GMT