FYI Apart from replacing all
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
A trick would have been to place the following somewhere inside include/init.inc.php
header('Content-type: application/xhtml+xml; charset=utf-8');
Then if you visit your site thru Firefox the document is properly handled as xhtml document.
So if a page has a bug in tags it will show you exactly where that bug is.
The differences between XHTML and HTML are of many but the main goal of W3C regarding this you have to understand what xml is. If you do then the explanation is simple.
When you work with XHTML the design was ment to place tag variables inside CSS and not in the document.
For example you have
<table border="0" cellspacing="2" cellpadding="4" bgcolor="#000000">
This would be split up to
<table>
and a CSS file
.table {
border: 0;
padding: 4px;
border-spacing: 2px;
background-color: #000;
}
This way your html document becomes very tidy and fast but it also has issues.
For example you're not allowed to use javascript to write to the document like
document.write('<b>foo</b>');
This is because a xhtml document is rendered only once on retrieval.
There are many more benefits and one of them is that Firefox shows you where a tag error exists so that you write 100% correct webpages which are the fastest already.
As a correct XHTML example look at my index of
http://moocms.com/ i can't show you more about xhtml at the moment but i can next year when MOO cms is finished.