Re: TABLES: table-column elements will only be children of table-cells.

Also note that applying [CSS2 errata;17.2.1] the rules 3 and 5 could result
in an endless loop, depending on the algorithm used. The rules are of type
'constraints', so I may assume that the rules 'always' count.

 * display='table'
 '-* desplay='table-column'

 rule #5

 * display='table'
 '-* desplay='table-row'       (new)
   '-* desplay='table-column'

 rule #3

 * display='table'
 '-* desplay='table-row'
   '-* display='table'         (new)
     '-* desplay='table-column'

 rule #5

 * display='table'
 '-* desplay='table-row'
   '-* display='table'
     '-* desplay='table-row'      (new)
       '-* desplay='table-column'

 etc..

What should my CSS2-implementation do?

greetings,

Mark Ament

'---------------------------------------------------------------------------
---------

At 17:30 15-3-00 +0100, you wrote:
>Hi people!
>
>I was digging through the tables section [CSS2;17]. I noticed some strange
>CSS2-behaviour, explained in this email. Am I missing something? Am I
>applying the rules the wrong way?
>
>This email is about:
>  1) rendering table-cells only for a table-column or table-column-group.
>  2) applying rules at [CSS2;17.2.1]
>
>lets say we have the following situation:
>
>  <TABLE>
>    <COL width="40%">
>    <!-- column data here.. -->
>  </TABLE>
>
>and convert this to a tree:
>
>  * display='table'
>  '-* desplay='table-column'
>
>According to the spec we should apply certain rules. [CSS2;17.2.1]
>  (note: [CSS2;17.2.1] was overridden by [CSS2 errata;17.2.1]).
>
>Applying the 1th rule of [CSS2 errata;17.2.1] -> nothing happens here.
>Applying the 2nd rule of [CSS2 errata;17.2.1] -> nothing happens here.
>Applying the 3rd rule of [CSS2 errata;17.2.1] ->
>  nothing happens here, because the COL has a 'table'-parent.
>Applying the 4th rule of [CSS2 errata;17.2.1] -> nothing happens here.
>Applying the 5th rule of [CSS2 errata;17.2.1] ->
>
>  <QUOTE>
>  5. If a child T of a 'table' element (or 'inline-table') P is not a
>'table-row-group', 'table-header-group', 'table-footer-group', or
>'table-row' element, an object corresponding to a 'table-row' element will
>be generated between P and T. This object spans all consecutive siblings of
>T that are not 'table-row-group', 'table-header-group',
>'table-footer-group', or 'table-row' elements. 
>  </QUOTE>
>  -> the new tree will be:
>
>  * display='table'
>  '-* desplay='table-row'  (newly added)
>    '-* desplay='table-column'
>
>Applying the 6th rule of [CSS2 errata;17.2.1] -> nothing happens here.
>Applying the 7th rule of [CSS2 errata;17.2.1] -> nothing happens here.
>
>  <QUOTE>
>  7. If a child T of a 'table-row' element P is not a 'table-cell' element,
>an object corresponding to a 'table-cell' element will be generated between
>P and T. This object spans all consecutive siblings of T that are not
>'table-cell' elements. 
>  </QUOTE>
>  -> the new tree will be:
>
>  * display='table'
>  '-* desplay='table-row'
>    '-* desplay='table-cell'  (newly added)
>      '-* desplay='table-column'
>
>Now you can say 'hey, [9.10] says table column elements don't exist in a
>document tree':
>
>  <QUOTE>
>  Note. The 'direction' property, when specified for table column elements,
>is not inherited by cells in the column since columns don't exist in the
>document tree. Thus, CSS cannot easily capture the "dir" attribute
>inheritance rules described in [HTML40], section 11.3.2.1. 
>  </QUOTE>
>
>However this argument doesn't count, because there's one rule in [CSS2
>errata;17.2.1] which is specially written for table-column elements. I'm
>talking about rule #3.
>
>It seems logical to me that the only rule that should consider creating
>anounymous table boxes around 'table-column' would be [CSS2 errata;17.2.1]
>rule #3. This would result in no modifications of the original
> example.
>
>  <QUOTE>
>  3. If the parent P of a 'table-column' element T is not a 'table',
>'inline-table', or 'table-column-group' element, an object corresponding to
>a 'table' element will be generated between P and T. This object will span
>all consecutive siblings (in the document tree) of T that require a 'table'
>parent: 'table-row', 'table-row-group', 'table-header-group',
>'table-footer-group', 'table-column', 'table-column-group', and
>'table-caption'. 
>  </QUOTE>
>
>greetings,
>
>Mark Ament
>
>----------------------------------------------------------------------------
>---------------
>[CSS2 errata]
>http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html
>
>
>
>

Received on Wednesday, 15 March 2000 15:44:47 UTC