On Tue, 16 Nov 2004 13:03:07 +0100, Marco Bizzarri <m.bizzarri@icube.it> wrote:
<script><![CDATA[ if (gecko) document.write('</table></td></tr>'); ]]>
...
Compilation failed TAL.HTMLTALParser.NestingError: Open tags <html>, <body>, <script> do not match close tag </table>, at line 10, column 36
therefore, the parse is interpreting the inside of the <script> tag as normal tags instead of simple content of the script.
Not just any tags; it's catching the "</" in particular. The parser being used doesn't understand <![CDATA[...]]>, so doesn't avoid this problem. In addition to the options Tonico suggested, there's one more option: change the line containing the </table> to: if (gecko) document.write('<' + '/table></td></tr>'); This avoids the specific behavior you're seeing, and would also work without the CDATA marked section.
(Please note that it is not an option, at the moment, to put the <tr><td><table> inside one single <script> tag, because there is other content between the two scripts).
No need to do that. -Fred -- Fred L. Drake, Jr. <fdrake at gmail.com> Zope Corporation