Re: Exposing the critical ACTUAL style values?

I did not get off on vacation today as planned.  Maybe tomorrow.

>In the HTML DOM, there are certain presentation properties exposed 
>directly on objects.

Just to be clear, you are reaffirming there is a precedent for exposing the
presentation state directly on markup objects, i.e. a 1:1 correlation
between markup (DOM) objects and presentation objects.


>Please define "transformed state" before I can tell you whether I agree 
>with you or not.

I am thinking more abstractly than a specific case or layer.  The
definition is "any transformed state DERIVED from the DOM markup state".

You did not reply yet to my other 2 previous posts, so it is difficult for
me to know now, where we are in our understanding of each other's views.

I will try to elaborate any way.

First of all, I see our fundamental disagreement is on whether tranformed
states can and/or should have 1:1 correspondence with the DOM state.
Thanks for making the strong point that they can not have 1:1
correspondence in all situations, and the correspondence may be reliant on
other variables (i.e. a multi-variant correspondence, e.g. time, etc as you
pointed out).  However, it is my assertion that the 1:1 correspondence,
even though partial, is a very useful model for the purposes of dynamic web
pages (e.g. applications).  Without 1:1 correspondence, then I do not know
what kind of model one would get to try to related two disparate abstract
state models.  I will now show why this 1:1 correspondence is CRUCIAL to
MOST web authoring.

Let's consider the analogy in mathematics.  If we have a given state, given
by a matrix of values, and we transform it to a new state, then our
transform matrix controls several important mathematical properties, such
as whether there is an inverse, whether the transform is linear,
associative, communitive, etc..

Your assertion is that the transform from DOM markup state to (for example)
presentation state, is a sufficiently complex transform that the
correlation between the elements of the two states can not (or should not)
be correlated at the element level.  However, my assertion is that HTML and
CSS has (and must) sufficiently consider the possible ways of presentation,
such that the correlation is predictable enough for 1:1 correlation.  For
example, this week when I suggested sentence style, the CSS list replied
that the presentation algorithm for sentences must be known before we can
consider the new feature.  Because if the correlation between markup state
and presentation state were not predictable, then authoring web pages would
be a "blind" activity.  By "blind", I mean the author would have no
predictable notion of how his page is being presented.  I can assure you
the market will never accept an abstraction of XHTML to the level that
presentation is unpredictable.

More on this below...


>The more specific the DOM APIs for dealing only with a specific markup 
>language, the less problem there is defining where 1:1 correspondances 
>are likely to always exist.  The HTML DOM is almost always used to 
>present in a legacy-browser-type fashion, and hence in the HTML DOM, we 
>know much more about the likely presentation than in the core or XML DOM 
>modules.

I figured your response would be that this is a legacy issue that W3C wants
to purge in future.

However, has the W3C considered what the replacement model would be for
HTML forms programming??

I think you are going to ultimately come to the conclusion that 1:1
correspondence is necessary to make a reasonable programming model for the
presentation.  Otherwise, if you completely abstract the presentation, then
how does the program know which element is the last name of the form??


>Of course even the HTML Working Group at W3C does not like the present 
>HTML DOM long-term because they wish to make the HTML browser more 
>flexible with less built-in knowledge about the markup language, 
>especially when moving to the modularity envisioned for XHTML.


I am 100% in favor of modularity.  For example, I made a proposal to add
Event style sheets, so that we can abstract (modularize) the behavior from
the markup.  It also serves to remove redundant specification of events in
markup.

However, if you completely abstract the presentation from the markup, then
there is no reasonable way to correlate the two for the purposes of
programming the behavior.  In the end, a button in markup has to be a
button in presentation.  There has to be a 1:1 correspondence.  It is so
obvious to me.  What I am missing that is causing you to resist my
assertion that 1:1 is not optional??


>>Again I do not think specialized interfaces for modifying the transformed
>>state are to be encouraged.  Where ever possible it is logically very
>>important that one try to use markup to set state.
>>
>Again, please define "the transformed state".  I don't believe it has 
>ever been defined before, so it is hard to determine which layer you are 
>targetting and whether it is standard enough to be exposed.


The author (for writing chances to a) a web document should only be
targetting one layer and that is markup.  If you expose a transformed
DERIVED state for writing, then you will have subverted markup and created
a new markup language by default.

This is also why you have no choice but to develop 1:1 correspondence
interfaces for reading the transformed state.  My point is that CSS is
working very hard on this, so leverage their work.

It is ironic, because I sense (perhaps incorrectly) that you feel I am
against the abstractness of markup, when in fact, I am trying to protect it
from being compromised by transformed state (write) interfaces.

In fact, now we come full circle to my original post, wherein I said I do
not want to use a propreitary api such as the new stuff for building
applications with Mozilla.  The problem with their approach is they are
(akaik) exporting new interfaces for writing on the presentation.  That is
very bad for W3C standards.


>If it includes focus state, blur, current form field values, etc. then I 
>disagree.

Then you will destroy the abstractness of markup.  You will then have
authoring combining markup with other write apis to form a new vegetable
soup of markup which is extremely brittle.

We need to keep markup pure and we need to insure that the things people
want to do with web pages, can be done from the pureness of markup.  All
writing of the state should come from markup.  The limits of markup
determine the limits of state that can be written.  Of course we can expose
non-1:1 transformed state for reading without any worries, but we should
prioritize exposing the 1:1 properties first.


>If it is the actual computed style values, as obtained via the CSS 
>module, then I agree, which is why you are permitted through that module 
>to modify, not the end result, but the upstream result, if memory serves me.

Correct.  You have reaffirmed that one must write thru markup, not at
transformed state.

I think we want the same goals for pureness of markup.  I am very curious
as to what, if any, disagreement we still have.  I am very willing to be
swayed by compelling technical points.  So far, I think my case for the
necessity of 1:1 is very strong.

-Shelby Moore

Received on Thursday, 19 December 2002 01:32:48 UTC