- From: Jukka K. Korpela <jkorpela@cs.tut.fi>
- Date: Mon, 8 Nov 2010 10:55:04 +0200
- To: "John Collins" <john_collins70@rocketmail.com>, <www-validator@w3.org>
John Collins wrote: > I’m the webmaster of http://www.canadabanks.net and after running my > site through the W3C markup validator.I got 7 errors. Most of the errors are caused by mixing HTML and XHTML. The page declares an HTML 4.01 doctype, yet uses the special XHTML feature of ending an empty element like a meta element with “/>” and not just “/”. If you change the doctype declaration at the start to <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> then most errors disappear. The remaining one is caused by a span element containing an h1 element, which is disallowed in all HTML versions. The obvious fix is to change the span element to a div element, though you need to check what impact this might have to styling (probably none, but worth checking). > I understand most of the errors > and I’ll fix them however this one really bothers me: > Line 7, Column 489: end tag for element "HEAD" which is not open This is a long and confusing story. A brief summary: When you use the “/>” notation, then by the formal rules of good old (non-XHTML) HTML, the “/” terminates the tag (such as link or meta tag), leaving the “>” as a data character. Now, the validator treats that data character as the start of document body, following the formal rules. The head element is implicitly closed, making the later </head> tag homeless. The long story: “Empty elements in SGML, HTML, XML, and XHTML”, http://www.cs.tut.fi/~jkorpela/html/empty.html -- Yucca, http://www.cs.tut.fi/~jkorpela/
Received on Monday, 8 November 2010 08:55:44 UTC