[Zope] ZPT parser changes from 2.6.x to 2.7.3 ?

Fred Drake fdrake at gmail.com
Tue Nov 16 11:01:01 EST 2004


On Tue, 16 Nov 2004 13:03:07 +0100, Marco Bizzarri <m.bizzarri at 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


More information about the Zope mailing list