No. Authors take the responsibility to correct the mistakes. Browsers should 
not help them to do so.

I would like to repeat once again: HTML 4.01, HTML 5, XHTML 1.0 and XHTML 1.1 
allow <link> elements put inside the <head> section only.

Even though the behavior of Internet Explorer 7 is inconsistent, it can handle 
valid examples, it is the most important point.

I cannot imagine if <meta> and <title> are being used anywhere in a HTML 
document.

Franklin Tse

-----Original Message-----
From: Lachlan Hunt [mailto:[EMAIL PROTECTED] 
Sent: Saturday, November 25, 2006 23:57
To: Tse Shing Chi (Franklin/Whale)
Cc: 'atom-syntax'
Subject: Re: PaceResurrectAutodiscovery

Tse Shing Chi (Franklin/Whale) wrote:
> Lachlan Hunt wrote:
>> Ah, but this works!
>> 
>> <html>
>> <head>
>>   <title>Feed Autodiscovery</title>
>> </head>
>> <body>
>>    <p>... really long body ...</p>
>>    <link rel="alternate" type="application/atom+xml" href="/feed">
>> </body>
>> </html>
> 
> Your example is a invalid HTML document.
> 
> <link> can only be put inside <head>.

That's not the point.  In the real world, authors make many stupid 
mistakes and elements appear all over the place, which browsers have to 
deal with.

> While you have mentioned HTML 5, you may take a look on XHTML 2. 
> XHTML 2 allows all elements inside <body> to have a "href" 
> attribute and thus they can be a link without using <a>. It is 
> very complicated case for UAs to scan all.

XHTML 2 effectively dead.  That href-on-any-element feature is one that 
browser vendors have already stated to be difficult to implement.  In 
fact, XHTML 2 as a whole is already near impossible to implement in the 
real world, and, if the WG goes through with their stated plan to reuse 
the XHTML 1.x namespace, it will be totally impossible to implement. 
Therefore, XHTML 2 is irrelevant to this discussion.

> IE 7 is actually doing a good job, it is rejecting all <link> elements 
> which are put in a wrong position.

No, IE's behaviour is extremely inconsistent and buggy.  This test 
actually works in IE.

<!DOCTYPE html>
<title>Autodiscovery</title>
<div>
   <link rel="alternate" type="application/atom+xml" 
href="http://lachy.id.au/log/feed";>
   <p>This case still works in IE!
</div>

> I cannot understand why Firefox, Opera and Safari detect the links.

Because they have to deal with real world content.  For example, 
although this isn't a an autodiscovery link, see where Google have 
placed the prefetch link in this page.

http://www.google.com/search?q=Microsoft

<link rel="prefetch" href="http://www.microsoft.com/";>

Because browsers have to handle all link elements the same way, 
regardless of their attributes, they also have to handle the equivalent 
for autodiscovery links.

-- 
Lachlan Hunt
http://lachy.id.au/


Reply via email to