I would use & in place of the & in the original URL format, as that always works fine.
Here are some of the messages that I regularly post in site reviews at some other forum. They come up every single day. I got fed up with typing the same thing daily, sometimes several messages in a row. Now I just cut and paste the appropriate ones each time, adding specific extra comments only where needed:
Add a type="text/css" attribute to every <style> tag.
All <style> tags should be in the <head> section not in the <body>.
Correct the entity errors by changing every & in the URLs to be & instead.
Remember to "Quote" all attributes, especially all "#FFFFFF" colors, all URLs, all "50%" sizes, and any other attribute value that contains anything other than a simple "A" to "Z" or "0" to "9" value. In HTML 4.01 it is recommended to quote all attribute values.
Add alt="some text" to every <img > tag, the text reflecting what is in the dispayed image. On unimportant images, like spacer elements, a minimum of alt="" is fine. For bullet-point images, alt="*" is often used. Search engines do index the alt text. The alt attribute is a required element.
Closing tags never have attributes, so stuff like </font size> </font color> </font face> should each only be </font> instead.
Any id attribute must be unique. If you need to reuse an id you should be using class instead.
Identical adjacent opening tags that each have a separate attribute, like <font size="2"><font color="#FFFFFF"><font face="ariel">, can be combined so that it becomes one tag with several attributes, like <font size="2" color="#FFFFFF" face="ariel"> for example. This then only requires one closing </font> tag, instead of three. However, CSS is now replacing these tags with external stylesheets.
Hide any closing tags like '</td>' that are within document.write statements by either breaking them open '</' + 'td>' or by escaping them <\/td> and the validator will no longer complain about these closing tags. It is important to break directly after the / and not the middle of a word.
It never used to matter if tags used upper or lower case. In HTML 4.01 it is recommended to write all tags and attributes in lower case. For XHTML an XML it then becomes a requirement.
In CSS you must have units with all of your numbers, so one of either px, pt, em, %, or # is always required.
The four margin errors can be replaced with a little bit of CSS code instead. Put this is a text file, with a name ending in .css:
You should export the CSS to an external file and call it with instructions in the <head> section of the HTML file. Most people use this one, but it can cause problems:
<link type="text/css" rel="stylesheet" src="/path/file.css">
It is better to use this slightly longer version of this, again placed in the <head> section of the HTML file:
<meta http-equiv="Content-Style-Type" content="text/css">
This version hides the CSS from older versions of Netscape that cannot handle CSS. This stops those versions from displaying a corrupted page with overlapping elements.
External CSS files must not contain any HTML tags or code.
Interesting article about XHTML problems as well: [hixie.ch...]