- From: Randy Waki <rwaki@flipdog.com>
- Date: Thu, 13 Jan 2000 13:14:12 -0700
- To: <html-tidy@w3.org>
[Foiled by our domain name change! My apologies if anyone sees this twice.]
(This is a restatement of the problem described in
http://lists.w3.org/Archives/Public/html-tidy/1999JulSep/0080.html)
If a quoted URL attribute value (e.g., href in <a> elements) contains a
line break, 13-Jan-2000 Tidy changes the line break to a space while IE
and Netscape discard the line break. This can result in a broken link
in the tidied document.
I believe the following change fixes the problem. In lexer.c, insert
the following lines before line 2502:
/* discard line breaks in quoted URLs */
if (c == '\n' && IsUrl(name))
continue;
/* existing line 2502 */ c = ' ';
------------------------ Example HTML document -------------------------
<html>
<head>
<title>x</title>
</head>
<body>
<!-- Tidy gets this RIGHT. -->
<p>
Unquoted <a href=http://www.w3
c.org/>http://www.w3c.org/</a> with a newline between the 3 and the c;
should link to "http://www.w3"
</p>
<!-- Tidy gets this WRONG. -->
<p>
<a href="http://www.w3
c.org/">http://www.w3c.org/</a> with a newline between the 3 and the c;
should link to "http://www.w3c.org/"
</p>
<!-- Tidy gets this RIGHT. -->
<p>
<a href="http://www.w3
c.org/">http://www.w3c.org/</a> with a newline and a space between the
3 and the c; should link to "http://www.w3 c.org/" (note the space)
</p>
</body>
</html>
------------------------------------------------------------------------
Randy
Received on Thursday, 13 January 2000 15:14:58 UTC