Re: anonymous table objects

Lets clear this up for everybody's sake..
Nobody was anwsering your email. Maybe its because of those pityfull 'I
know the anwser, but you are the competitor' reasons.

Your original tree was:

  P   (table-row-group)
  '-T   (table-cell)
  '-S   (inline/block ; button)

Rules to apply according to the errata:

  rule #1: anonymous table-row (we call this AR) between P and T
  rule #6: anonymous table-row between P and {T,S}
  rule #0: anonymous table-cell between P and S

The original tree and the rules result in:

P      (table-row-group)
'-AR   (table-row)
  '-T    (table-cell)
  '-AC   (table-cell)
    '-S  (inline/block ; button)

So to anwser your question:

  Yes, the table-cell parent that gets generated for S has the same
table-row parent that gets generated for T.
  You missed rule #0.

Hopes that helps your question,
Maybe you can help me out someday :)

Mark Ament

------------------------------------------------------------------------
References:

[CSS2;17.6.2] rule #0:
Rule #0 (as I call it) still counts according the errata:

<QUOTE>Any table element will automatically generate necessary anonymous
table objects around itself, consisting of at least three nested objects
corresponding to a 'table'/'inline-table' element, a 'table-row' element,
and a 'table-cell' element</QUOTE>

------------------------------------------------------------------------
At 22:33 20-3-00 -0800, you wrote:
>Consider a case where T = table-cell, P = table-row-group, and T's next
>sibling, S = button. Rule 1 says that a table-row will be generated
>between P and T but doesn't imply that it spans S (since S is not a
>table-cell). Rule 6 says that a table-row will be generate between P and
>T and might imply that it spans S (because S is not a table row).
>
>So, does the table-cell parent that gets generated for S have the same
>table-row parent that gets generated for T or does it get a different
>generated table-row parent? In other words, are T and S in the same row
>or different rows?
>
>   1.If the parent P of a 'table-cell' element T is not a 'table-row',
>an object corresponding to a 'table-row' will be generated between
>     P and T. This object will span all consecutive 'table-cell'
>siblings (in the document tree) of T.
>   2.If the parent P of a 'table-row' element T is not a 'table',
>'inline-table', or 'table-row-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'.
>   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'.
>   4.If the parent P of a 'table-row-group' (or 'table-header-group',
>'table-footer-group', or 'table-column-group') element T is not a
>     'table' or 'inline-table', 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'.
>   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.
>   6.If a child T of a 'table-row-group' element (or
>'table-header-group' or 'table-footer-group') P is not a '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' elements.
>   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.

Received on Wednesday, 3 May 2000 15:49:45 UTC