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

At 01:01 AM 1/2/2003 +0000, Ian Hickson wrote:
>> 
>> http://lists.w3.org/Archives/Public/www-style/2003Jan/0000.html
>> 
>> 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).
>
>Study the example more carefully, and you'll find that actually what it
>does is execute some script when the page is loaded.
>
>That script performs a regular expression match on the element's contents,
>and if they match a specific pattern (i.e. if they are a date) then it
>does some mathematical operations and then invokes a couple of DOM methods
>to change the in-memory DOM tree.
>
>It does not even remotely touch the underlying representation.


Using regular expression to replace the parser is undermining the role of
the parser.

So we agree the bi-directional line needs to be added to your graph??



>Now, please explain to me how this is in any way more of a corruption of
>the semantics than the following:
>
>   <xsl:template match="a">
>    <a>new content</a>
>   </xsl:template>


It is not.  You asked for my definition and I explained there is a crucial
distinction in OO "model - controller" design.  You are referring here to
"what is bound", not to the __mechanism__ of binding.  Of course, XSLT has
to power to remove markup in the transformation.  It can do that
independent of whether we are comparing it to XBL.  You are furthering my
argument that XBL is mostly W3C redundant.

But more importantly, please note that the _mechanism_ is binding
___ONLY____ at the semantic layer.  The "what is bound" is swappable
(optional/changeable/replaceable/etc) at the ___semantic layer____.  There
are no CSS or DOM dependencies to worry about, when swapping an incorrect
transformation with am improved one.  This is what I mean by "least common
denominator" and the ability to back out of problems without tying your
layers in knots.

If you argue about whether XSLT has power to corrupt the web, then that is
not meaningful debate, but almost every W3C technology has the power to
corrupt the web if it is used poorly.

The central theme of my point is that semantic binding layer should not be
merged with presentation layer ("CSS is wrong W3C layer  for  semantic
behavior *markup*").  And that XSLT accomplishes the necessary semantic
bindings so we don't need XBL for that ("XBL is (mostly) W3C redundant").
As for the other features of XBL, such as CSS selectors on behavior,
runtime DOM extensions, etc..  I am not arguing against those per se.  If
they are proved compelling, then go ahead and make them orthogonal layers
which can be mixed and matched with other layers for maximal utility.  Then
they will be orthogonal to semantic binding.  They will be utilitized in
the "what is bound" layer.

KEY POINT:
A layer defines the ___GRANULARITY___ of what can be corrected
(changed/improved/swapped/replaced) independently of the other layers. 

Maybe the word ___GRANULARITY___ is easier to understand than orthogonality.


Again, I am not against personal preference.  If you feel XBL is more
elegant and efficient for you work, then that if your decision.  I am just
making an argument based on orthogonality of layers.  This is related to
the ability to interchange layers, which is a fundamental concept behind
the interchanging of style sheets, UAs, etc.

-Shelby Moore

Received on Wednesday, 1 January 2003 20:26:15 UTC