Questo non dovrebbe essere rosso.

Questo documento XHTML è valido e well-formed. Sopra c'è una tabella con una singola cella. Questa pagina ha un'unica regola di stile che dà a tutti gli elementi tbody uno sfondo rosso, ma nel sorgente non è presente neanche un tag tbody.

Nell'HTML, gli elementi tr sono sempre raggrupati all'interno di una riga, quindi se un tr è scritto come "figlio" di un elemento table, un elemento tbody viene inserito automaticamente. Nell'XHTML non è così: quando un tr è scritto come "figlio" di un elemento table, viene veramente considerato come suo "figlio" e nessun elemento tbody viene inserito.

Anche se questo è più un problema di DTD piuttosto che di regole generali dell'SGML, la maggior parte dei browser continuano a seguire il comportamento dell'HTML quando il documento è inviato come text/html, anche se è presente un doctype XHTML.

Per illustrare la differenza nella struttura del documento, in questa pagina è presente una regola di stile che conferisce a tutti gli elementi tbody uno sfondo rosso. Quando è interpretato come XHTML, non è presente nessun elemento tbody, quindi nessun elemento sarà colorato di rosso.

La differenza si può notare anche con i linguaggi di scripting: quando la pagina è interpretata come XML, il tr si trova immediatamente sotto alla table, ma quando la pagina è interpretata come HTML, c'è un tbody in mezzo.