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: Fri, 3 Jan 2003 00:18:36 +0000 (GMT)
To: Shelby Moore <shelby@coolpage.com>
Cc: "www-style@w3.org" <www-style@w3.org>
Message-ID: <Pine.LNX.4.21.0301022344570.13323-100000@dhalsim.dreamhost.com>

On Thu, 2 Jan 2003, Shelby Moore wrote (in multiple e-mails):
>
> So let me make the definitions more correct now:
> 
> Semantics == meaning

Agreed.


> Semantic Markup == declaration of tags -- which only have meaning
> when they are semantically specified and bound

Ok...


> Semantic Binding = the mechanism of associating (intepretation of)
> markup with it's meaning

In that case, there is only one semantic binding for HTML elements:
the HTML specification. And since XBL is not the HTML specification,
it isn't a semantic binding layer.


> So thus HTML spec and parser is a form of semantic binding

The HTML spec is, the HTML parser is not.

The XML and HTML parsers are merely processes which convert a byte
stream to an infoset, which may then be turned into a DOM.

They don't say what an <h1> element is, only the specification can say
that.


> So thus XSLT spec and parser is a form of semantic binding

The XSLT spec defines the XSLT elements, but nothing else.

There is only one XML parser for all XML languages, and it has no
built-in knowledge of any of the namespaces, so clearly it cannot be a
semantic binding layer.


> So thus CSS spec and parser is NOT a form of semantic binding

Indeed, the CSS specification does not give any meanings to elements,
only their language specification can do that.


> Again you never answered my assertion that the bi-directional arrow
> much be placed between XBL and XHTML ("Semantics") in your ascii art
> diagram of layers.

No, I didn't, because I didn't think it relevant.

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


Your statement [2]:

| The missing link in your diagram is that XBL should have a
| bi-drectional line to "MathML, XHTML" ("Semantics"). Per your <A>
| date example, XBL has power to modify the meaning of semantic layer
| (and cause the content markup in between <a> and </a> to be
| ignored). Thus the arrow to "Semantics".

My binding [3] doesn't change any semantics. All it does is change the
rendering of the contents of an element so that the time (if there is
one) is in another time zone.

It doesn't change the underlying document. It reads from and writes to
the DOM, which is why there is an arrow from XBL to DOM.

If CSS had a value "display-times-in-local-time-zone" for the "text-
transform" property then my binding could be replaced with:

   text-transform: display-times-in-local-time-zone;

The binding doesn't change the meaning of the element, which is "link
to bookmark".


| And XBL has the power to bind to new semantics (per Daniel's
| resizeHandler example in beginning of thread), thus the arrow from
| "Semantics" to XBL.

Daniel's example doesn't add any semantics. An <img> element has one
semantic: "embedded image". Daniel's example only adds some event
handlers and some CSS, hence the lines from XBL to CSS and DOM.

The semantics of the document are not changed, only the behaviour.

The binding doesn't change the meaning of the element, which is
"embedded image".


Incidentally, where would you fit XSLT in my original no-XBL diagram?
Or would you make a totally different diagram?


> The mechanism of association in XBL is combined with features at the
> DOM and CSS layer. Whereas the mechanism of association in XSLT is
> orthogonal to the XHTML, DOM, CSS, everything except XML.

This is misleading.

XSLT requires you to use DOM and CSS just as much as XBL does. XBL
does not have any direct dependencies on either DOM or CSS.

You do not need to update XBL to use newer DOM or CSS features.

You could quite easily use another DOM (e.g. the MSIE DOM) or another
style language (e.g. JSSS) with XBL.

This is also important, because as far as I can tell, this is your
second objection to XBL: that it is somehow dependent on DOM and CSS.


>> (Not to mention that your statement is an oxymoron -- something's
>> essential nature is orthogonal to its various interpretations.)
> 
> You say about "your" statement. It is "our" statement.

I was referring specifically to your statement:

   "The essential nature is the _interpretation_ of the tag name."

...which I still maintain is an oxymoron (just look up the words
"essential", "nature", and "interpretation" in any English
dictionary...).


-- References --
[1] http://lists.w3.org/Archives/Public/www-style/2003Jan/0000.html
[2] http://lists.w3.org/Archives/Public/www-style/2003Jan/0016.html
[3] http://hixie.ch/resources/bindings/timezone.xml

-- 
Ian Hickson                                      )\._.,--....,'``.    fL
"meow"                                          /,   _.. \   _\  ;`._ ,.
http://index.hixie.ch/                         `._.-(,_..'--(,_..'`-.;.'
Received on Thursday, 2 January 2003 19:18:38 GMT

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