Perché non XHTML5?

53

Quindi, HTML5 è il grande passo avanti, mi è stato detto. L'ultimo passo in avanti che ho preso è stato l'introduzione di XHTML. I vantaggi erano evidenti: semplicità, rigore, possibilità di utilizzare parser e generatori XML standard per lavorare con le pagine Web e così via.

Che strano e frustrante, quindi, che HTML5 abbia restituito tutto ciò: ancora una volta stiamo lavorando con una sintassi non standard; ancora una volta, dobbiamo occuparci del bagaglio storico e della complessità del parsing; ancora una volta non possiamo usare le nostre librerie, parser, generatori o trasformatori XML standard; e tutti i vantaggi introdotti da XML (estensibilità, spazi dei nomi, standardizzazione e così via), che il W3C ha speso per un decennio spingendo per buoni motivi, sono persi.

Bene, abbiamo XHTML5, ma sembra che non abbia guadagnato popolarità come la codifica HTML5. Vedi questa domanda SO , ad esempio. Anche la specifica HTML5 dice che HTML5, non XHTML5, "è il formato suggerito per la maggior parte degli autori. "

Ho sbagliato i miei fatti? Altrimenti, perché sono l'unico che si sente in questo modo? Perché le persone scelgono HTML5 su XHTML5?

    
posta jameshfisher 23.06.2011 - 17:31
fonte

5 risposte

25

Consiglierei di leggere Come siamo arrivati qui? . Mark Pilgrim offre una eccellente e breve storia di HTML fino a HTML5.

In sostanza, però, la mia comprensione è che molte pagine Web non sfruttano nemmeno la "X" di XHTML perché non specificano il tipo MIME appropriato per questo.

    
risposta data 23.06.2011 - 17:36
fonte
6

Se produci xml compatibile con html5, e li mandi con xml come tipo mime, allora il parser xml sarà usato per tutto ciò che il buon jazz ritorna;)

EDIT: guarda questo per ulteriori informazioni: link

    
risposta data 23.06.2011 - 17:35
fonte
3

HTML5 è la conclusione logica e inevitabile dei browser che adottano la legge di Postel ("Sii liberale in ciò che accetti").

Una volta che un browser con una quota di mercato sufficiente adotta questo principio, gli altri sono costretti a seguire l'esempio, non solo per essere liberale accettando contenuti non conformi, ma anche per renderlo allo stesso modo dei loro concorrenti. HTML5 è il risultato logico di questa situazione: i produttori di browser hanno deciso che, poiché non hanno intenzione di rifiutare qualsiasi contenuto come non valido (almeno, non a livello HTML - Javascript è un'altra cosa!) Potrebbero anche sedersi attorno al tabella e concordare un'interpretazione per qualsiasi cosa l'autore del contenuto potrebbe lanciargli contro. In questo ambiente, non hanno reagito gentilmente agli standard: i geek dicono loro che se solo avessero rifiutato il contenuto malformato fin dall'inizio, non sarebbero entrati in questo casino.

Quindi tu ed io possiamo gridare dai margini e dire ai venditori dei browser e ai loro utenti che il mondo sarebbe stato un posto migliore se non avessero creduto a John Postel, ma il danno è stato fatto ed è molto difficile annullarlo .

    
risposta data 24.06.2011 - 10:15
fonte
2

Le specifiche HTML5 sono state notevolmente migliorate rispetto alle specifiche HTML4. In particolare, la gestione delle condizioni di errore e del markup non valido è in realtà standardizzata, il che significa che tutti i browser che implementano correttamente lo standard gestiranno il markup non valido allo stesso modo.

L'HTML è scritto dagli umani il più delle volte (di solito in combinazione con un qualche tipo di linguaggio dei modelli), e gli umani commettono errori. Finché tutti i browser gestiscono gli errori di sintassi allo stesso modo, la regola "sii liberale in ciò che accetti" è perfettamente accettabile.

C'è davvero un piccolo vantaggio nella produzione di XML valido, dal momento che gli strumenti e le librerie per gestire l'HTML sono (quasi) altrettanto prontamente disponibili e HTML è più facile da scrivere per gli umani che XML.

    
risposta data 24.06.2011 - 12:54
fonte
1

Non otterrai mai i benefici di un parser più semplice o di strumenti XML standard sul lato client.

Ci sono miliardi di pagine sul web in HTML, alcune sono scritte da persone morte da molto tempo, quindi non verranno mai aggiornate in XML. Quindi, se vuoi creare un agente utente generalmente utile, avere essere in grado di analizzare comunque l'HTML vecchio stile. Probabilmente XHTML introduce una complessità aggiuntiva poiché richiede una nuova modalità di analisi oltre all'analisi HTML che è già necessario supportare.

Sul lato server è ancora possibile sfruttare gli strumenti XML, ad es. generare XHTML usando XSLT. Ma se non si utilizza specificamente una toolchain XML, non vi è alcun vantaggio nell'uso della sintassi XML piuttosto che solo HTML.

(Non è corretto che l'HTML sia sintassi "non standard". La sintassi dell'HTML è specificata in dettaglio minuzioso nelle specifiche HTML5, quindi è tanto standard quanto la sintassi XML.)

    
risposta data 30.03.2015 - 21:12
fonte

Leggi altre domande sui tag