@@ 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; |