- From: Randy Waki <rwaki@sun10.whizbanglabs.com>
- Date: Thu, 16 Sep 1999 12:55:29 -0600
- To: "HTML Tidy Mailing List" <html-tidy@w3.org>
IE and Netscape seem to ignore extra framesets while 26-Jul-99 Tidy treats them as errors. I hope it's not rash to assume that in cases like this, we want Tidy to approximate what most users are likely to experience in their browsers. -------- Example input document -------- <html> <head> <title>t</title> </head> <frameset cols="50%,50%"> <frame src="a.html"> <frame src="b.html"> </frameset> <frameset> <frame src="ignored-by-browsers.html"> </frameset> </html> ---------------------------------------- The following changes should cause Tidy to discard extra framesets. Note the potential problem described in the comments. The changes are untested in C but they were translated from Java where they WERE tested. 1. In parser.c, change: /* flag an error if we see more than one frameset */ to: /* parse framesets but only keep the first one */ /* PROBLEM: Discarded framesets might still affect the */ /* global document state when they are parsed */ 2. Also in parser.c, change: if (frameset != null) ReportError(lexer, html, node, DUPLICATE_FRAMESET); else frameset = node; to: if (frameset != null) { ReportWarning(lexer, html, node, DUPLICATE_FRAMESET); ParseTag(lexer, node, mode); continue; } frameset = node; 3. In localize.c, change DUPLICATE_FRAMESET from an error to a warning (be sure to change the string literal itself, too). Randy
Received on Thursday, 16 September 1999 14:56:22 UTC