Quali sono i vantaggi della creazione di pagine Web con XML anziché HTML?

Di tanto in tanto, vedo pagine web il cui contenuto è esclusivamente scritto in XML (non in HTML o XHTML). Di solito queste pagine hanno dei fogli di stile (XSLT o CSS) allegati che li rendono simili a qualsiasi altra pagina web ordinaria.

La mia domanda è: quali sono i vantaggi di un simile approccio (se esiste) e perché qualcuno dovrebbe scegliere di lavorare in questo modo?

EDIT: Se questa è una buona cosa, perché non è diffusa?

EDIT 2: Grazie a tutti per le grandi risposte. Mi hanno davvero illuminato. Ho anche trovato questa domanda il cui contenuto è anche correlato.

È più semplice generarlo a livello di programmazione e riutilizzarlo per altri scopi rispetto alla visualizzazione come pagina web.


Aggiornamento :

EDIT: Se questa è una buona cosa, perché non è diffusa?

Non tutti hanno bisogno di generarlo a livello di programmazione o riutilizzarlo per altri scopi rispetto alla visualizzazione come pagina web. È quindi più facile usare HTML semplice.

Un ansible vantaggio sarebbe l’uso dei dati della pagina in qualcosa di diverso da un browser web; ciò sarebbe (presumibilmente) più facile da fare se il contenuto di una pagina fosse XML ben formato. Naturalmente, in teoria, una pagina XHTML semantica ben formata dovrebbe essere analizzata quasi altrettanto.

Può anche essere più semplice generare XML anziché XHTML, a seconda dell’origine dati.

Quando si stanno ottenendo dati XML nel proprio sistema e si suppone di presentare questi dati XML, è molto più semplice scrivere un XSLT per quel XML invece di analizzarlo usando una sorta di parser e quindi presentando i dati.

Questo può essere un punto valido per usare XML invece di XHTML o HTML

Aggiornamento Per rispondere alla tua domanda sul perché questo non è diffuso, è perché XSTL è noioso e difficile da lavorare. Specificamente XPath, che può essere per alcune persone piuttosto difficile da usare.

Quelle pagine usano XSLT per ottenere il rendering sul lato client. Non tutti i browser (specialmente quelli più vecchi) supportano il rendering di XML + XSLT. XML può tuttavia essere utilizzato lato server come modello e trasformato in HTML dall’applicazione in esecuzione sul server. Personalmente non vedo alcun vantaggio per questo approccio.

Ci sono molte più pagine web che sono scritte esclusivamente in XML di quanto tu sappia. Stai vedendo solo quelli che eseguono la trasformazione XSLT sul lato client. La trasformazione lato server di XML non è affatto insolita, perché ci sono una miriade di cose che producono dati in XML e la trasformazione di XML in HTML in XSLT è semplice. Non saprai mai che questo accadrà se guardi l’HTML, che non sembra essere stato generato tramite XSLT.

Personalmente, non lo capisco neanche se uno dei maggiori problemi è il supporto in IE. Ho creato uno scheletro sito di e-commerce che serve XML, trasformato da XSLT e disegnato con CSS. Ho perso la capacità di usare XLink e altre meravigliose funzionalità XML. È anche bello poter etichettare i dati per quello che è. Ho usato un tag ‘menu’ per i menu del ristorante. tag “prezzo” per i prezzi e così via. Se un utente ha fatto clic su un collegamento per modificare i menu, tutto ciò che dovevo fare era inviare il nome dell’articolo, il prezzo e la descrizione al posto della pagina completa. iirc, una pagina di menu HTML o 4K era solo 200 byte di dati inviati.

Per quanto riguarda il “un errore rende tutto crash in XML”, i commenti di tipo, lo stesso vale per qualsiasi linguaggio di programmazione, quindi una corretta codifica non dovrebbe essere un problema per i programmatori e per i tipi di HTML / CSS.

Prima che qualcuno dica che quello che ho fatto era in realtà XHTML … no. Ho servito XML. Ho richiamato gli spazi dei nomi XHTML quando necessario per collegamenti, immagini e tipi di testo HTML ma solo quando necessario.