Hola, PatomaS.
Has dado en el clavo
Comentando el código JavaScript ya valida bien, incluso dejando el DTD como yo lo tenía, aunque es más lógico ponerlo como has puesto tú.
He cometido ese error por abusar del copy&paste y no fijarme en lo que copio. Si me hubiera fijado tampoco me habría dado cuenta porque he empezado a aplicarme en estas cosas hace poco. De echo lo copié de maestrosdelweb:
http://www.maestrosdelweb.com/editorial/haciaxhtml/
voy a ver si puedo hacerles llegar la corrección de alguna forma.
Gracias de nuevo. Saludos,