| @@ 112-137 (lines=26) @@ | ||
| 109 | $caption = $node; |
|
| 110 | $ws_accum =& $after_caption_ws; |
|
| 111 | break; |
|
| 112 | case 'thead': |
|
| 113 | $tbody_mode = true; |
|
| 114 | // XXX This breaks rendering properties with |
|
| 115 | // Firefox, which never floats a <thead> to |
|
| 116 | // the top. Ever. (Our scheme will float the |
|
| 117 | // first <thead> to the top.) So maybe |
|
| 118 | // <thead>s that are not first should be |
|
| 119 | // turned into <tbody>? Very tricky, indeed. |
|
| 120 | if ($thead === false) { |
|
| 121 | $thead = $node; |
|
| 122 | $ws_accum =& $after_thead_ws; |
|
| 123 | } else { |
|
| 124 | // Oops, there's a second one! What |
|
| 125 | // should we do? Current behavior is to |
|
| 126 | // transmutate the first and last entries into |
|
| 127 | // tbody tags, and then put into content. |
|
| 128 | // Maybe a better idea is to *attach |
|
| 129 | // it* to the existing thead or tfoot? |
|
| 130 | // We don't do this, because Firefox |
|
| 131 | // doesn't float an extra tfoot to the |
|
| 132 | // bottom like it does for the first one. |
|
| 133 | $node->name = 'tbody'; |
|
| 134 | $content[] = $node; |
|
| 135 | $ws_accum =& $content; |
|
| 136 | } |
|
| 137 | break; |
|
| 138 | case 'tfoot': |
|
| 139 | // see above for some aveats |
|
| 140 | $tbody_mode = true; |
|
| @@ 138-149 (lines=12) @@ | ||
| 135 | $ws_accum =& $content; |
|
| 136 | } |
|
| 137 | break; |
|
| 138 | case 'tfoot': |
|
| 139 | // see above for some aveats |
|
| 140 | $tbody_mode = true; |
|
| 141 | if ($tfoot === false) { |
|
| 142 | $tfoot = $node; |
|
| 143 | $ws_accum =& $after_tfoot_ws; |
|
| 144 | } else { |
|
| 145 | $node->name = 'tbody'; |
|
| 146 | $content[] = $node; |
|
| 147 | $ws_accum =& $content; |
|
| 148 | } |
|
| 149 | break; |
|
| 150 | case 'colgroup': |
|
| 151 | case 'col': |
|
| 152 | $cols[] = $node; |
|