Alcuni punti essenziali:

1. MIME Type

XHTML 1.0 dovrebbe essere servito come application/xhtml+xml.
XHTML 1.1 deve essere servito come application/xhtml+xml.
Per ottenere questo non basta specificare tale tipo MIME nell'elemento
meta. Occorre che le pagine abbiano estensione .xht o.xhtml.
Attualmente tutti i maggiori hoster lo supportano. Tuttavia, non tutti
gli hoster permettono l'indexing con queste estensioni. In altre parole,
spesso non si può associare ad una directory un file index.xht
o index.xhtml.

2. Browser
I browser riconoscono i file serviti come al punto 1 come veri e propri
file XML e verificano che il file sia ben formato. In caso contrario restituiscono
un parsing error (pagina di errore).
I browser non hanno parser validanti.
Per validare un documento occorre usare il validatore del W3C.

3. Prologo XML
Se i documenti vengono serviti come al punto 1, il prologo XML dovrebbe essere
incluso in ogni documento.

4. Script e stili incorporati
Se i vostri script e i vostri fogli di stile incorporati contengono i caratteri
[>"<] devono essere inclusi in speciali sezioni CDATA, se
e solo se servite i vostri documenti come al punto 1. Per informazioni, consultare
le specifiche XHTML 1.0. Si noti che i commenti SGML posti all'interno di un elemento
style fanno si che gli stili vengano ignorati dai browser, ma solo se servite i vostri
documenti come al punto 1.

5. Tutti i caratteri speciali devono essere codificati come entità SGML, compresi gli
& negli URL. Prestate attenzione quando copiate contenuto da documenti formattati
(come file .doc), perchè a volte gli editor (come Word) inseriscono dei caratteri
che vengono riconosciuti dal validatore come *non* SGML.


6. Link di riferimento

http://xhtml.com/

Fondamentale sito su XHTML che ne illustra i dettagli.

http://www.zvon.org/xxl/xhtmlReference/Output/

Guida completa agli elementi XHTML, utile soprattutto per verrificare il corretto
annidamento e rapporto di parentela.

http://www.alanwood.net/unicode/

Ottima risorsa sui diversi tipi di caratteri.

http://www.css-zibaldone.com/traduzioni/rfc3236/

Il mime type application/xhtml+xml

http://www.css-zibaldone.com/traduzioni/doctype/

Articolo di Henri Sivonen sul Doctype Switch

http://www.css-zibaldone.com/traduzioni/xhtml-dannoso/

Articolo di Ian Hickson che spiega le differenze tra l'XHTML servito come text/html
e quello servito come application/xhtml+xml