Scusa ma non sono d'accordo, o forse non ho capito.

A titolo di esempio, se ho nell'xml un elenco di elementi "persone" che hanno l'attributo "descrizione", potenzialmente vuoto, e realizzo un xsl tipo

codice:
<person name="Pippo" desc="Amico di Topolino"/>
<person name="Pluto" desc=""/>
codice:
<xsl:template match="person">
   [img]person.gif[/img]
   <div class="person_desc"><xsl:value-of select="@desc"/></div>
</xsl:template>
- Con 'xslutput' su 'xml' il tag 'img' viene chiuso (conforme xhtml), ma il secondo div risulta '<div class="person_desc" />' (compressato dal parser, non conforme xhtml)

- Con 'xslutput' su 'html' il tag 'img' non viene chiuso (conforme html ma non xhtml) e il secondo div risulta '<div></div>' (conforme html e xhtml).

Non prendo in considerazione toppe (tipo testare se nel template l'attributo è vuoto, e in tal caso scrivere spazi per evitare che il parser lo compressi).

Morale, non esiste modo di generare xhtml da xsl.
Se così non fosse, perchè nel XSLT versione 2 aggiungeranno il
mode='xhtml' a xslutput?

ciao!