XML Prolog
Some browsers choke on the question mark in the XML prolog of XHTML docs. The XML prolog is only required for XML pages and not XHTML pages. IE6 goes into "quirks" mode when it encounters the XML prolog and this causes considerable head aches. Other modern browsers have no difficulty with the prolog, but IE6 simply cannot handle its presence. So, omit that XML prolog unless you are actually writing an XML page. As Zeldman has said in his book, Designing With Web Standards, New Riders Publishing, 2003.
"...many browsers, even those from 'nice' homes, can't handle the XML prolog.
<?xml version="1.0" encoding="iso-8859-1"?>After imbibing this XML element, they stagger and stumble...your site might be invisible to the user. It might even crash the users' browser. In other cases, the site does not crash, but it displays inncorrectly..."
"Fortunately there is a solution. In place of the troublesome prolog, you can specify character encoding by inserting a Content-Type element into the <head> of your document."
So the beginning of a transitional XHTML doc would look something like this:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
lang="en-us">
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content=
"text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Language" content="en-us"
/>
<meta name="author" content="Laura L. Carlson"
/>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="copyright" content=
"© 1998-2004 University of Minnesota Duluth"
/>
</head>