Sì certo, l'html è selvaggio.

Ma in xhtml perchè metti /> ?

Ok per i tag senza chiusura che ci va spazio e barra, es:
(più per compatibilià che obbligatorietà mi sembra)...

Ma tutti gli altri tag si chiudono con </tag> senza spazi, giusto?

E infine torno alla mia domanda iniziale: in xhtml ci va lo spazio dopo gli attributi o no?

<div id="menu" > oppure <div id="menu"> ?