buenas...
el problema se reduce aqui,
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">. recuerda que xhtml es case-sensitive (sensible a mayusculas/minusculas). en la declaracion esta indicando que el elemento raiz es <HTML> en lugar de <html>. como ya te indicaron, es mas facil copiar el DTD de una fuente fiable, por ejemplo w3schools lista
los tres XHTML DTD.