HTML e XHTML sono entrambe le lingue in cui sono scritte le pagine web. L'HTML è basato su SGML mentre XHTML è basato su XML. Sono come due lati della stessa moneta. XHTML è stato derivato da HTML per conformarsi agli standard XML. Quindi XHTML è severo rispetto all'HTML e non consente all'utente di evitare errori di codifica e struttura.
Il motivo per lo sviluppo di XHTML era costituito da tag specifici del browser. Le pagine codificate in HTML apparivano diverse nei vari browser.
HTML | XHTML | |
---|---|---|
Introduzione (da Wikipedia) | HTML o HyperText Markup Language è il linguaggio di markup principale per la creazione di pagine Web e altre informazioni che possono essere visualizzate in un browser web. | XHTML (Extensible HyperText Markup Language) è una famiglia di linguaggi di marcatura XML che rispecchiano o estendono le versioni dell'Hypertext Markup Language (HTML) ampiamente utilizzato, la lingua in cui sono scritte le pagine Web. |
Estensione del nome file | .html, .htm | .xhtml, .xht, .xml, .html, .htm |
Tipo di supporto Internet | text / html | application / xhtml + xml |
Sviluppato da | W3C e WHATWG | World Wide Web Consortium |
Tipo di formato | Formato del file di documento | Linguaggio con marcatori |
Esteso da | SGML | XML, HTML |
Sta per | Hyper Text Markup Language | Extensible HyperText Markup Language |
Applicazione | Applicazione di SGML (Standard Generalized Markup Language). | Applicazione di XML |
Funzione | Le pagine Web sono scritte in HTML. | Versione estesa di HTML più rigida e basata su XML. |
Natura | Framework flessibile che richiede parser specifico per HTML clemente. | Sottoinsieme restrittivo di XML e deve essere analizzato con parser XML standard. |
Origine | Proposto da Tim Berners-Lee nel 1987. | Raccomandazione del World Wide Web Consortium nel 2000. |
versioni | HTML 2, HTML 3.2, HTML 4.0, HTML 5. | XHTML 1, XHTML 1.1, XHTML 2, XHTML 5. |
HTML è il linguaggio di markup predominante per le pagine web. HTML crea documenti strutturati denotando semantica strutturale per testi come intestazioni, elenchi, collegamenti, citazioni, ecc. Permette di incorporare immagini e oggetti per creare forme interattive. È scritto come tag circondati da parentesi angolari, ad esempio, . Possono essere caricati anche script in linguaggi come JavaScript.
XHTML è una famiglia di linguaggi XML che estendono o rispecchiano le versioni di HTML. Non consente l'omissione di alcun tag o l'uso della minimizzazione degli attributi. XHTML richiede che ci sia un tag di chiusura per ogni tag di avvio e tutti i tag nidificati devono essere chiusi nell'ordine corretto. Ad esempio, mentre
è valido in HTML, sarebbe necessario scrivere
in XHTML.
I documenti HTML sono composti da elementi che hanno tre componenti: una coppia di tag elemento: tag iniziale, tag finale; attributi degli elementi dati all'interno di tag e contenuti reali, testuali e grafici. L'elemento HTML è tutto ciò che si trova tra e tag compresi. (Tag è una parola chiave racchiusa tra parentesi angolari).
I documenti XHTML hanno solo un elemento radice. Tutti gli elementi, comprese le variabili, devono essere in minuscolo e i valori assegnati devono essere racchiusi tra virgolette, chiusi e nidificati per essere riconosciuti. Questo è un requisito obbligatorio in XHTML a differenza di HTML, dove è facoltativo. La dichiarazione di DOCTYPE determinerebbe le regole per i documenti da seguire.
A parte le diverse dichiarazioni di apertura per un documento, le differenze tra un documento HTML 4.01 e XHTML 1.0 - in ciascuno dei DTD corrispondenti - sono ampiamente sintattiche. La sintassi sottostante dell'HTML consente molte scorciatoie che XHTML non possiede, come elementi con tag di apertura o chiusura opzionali e persino elementi EMPTY che non devono avere un tag di chiusura. Al contrario, XHTML richiede che tutti gli elementi abbiano un tag di apertura o un tag di chiusura. XHTML, tuttavia, introduce anche una nuova scorciatoia: un tag XHTML può essere aperto e chiuso all'interno dello stesso tag, includendo una barra prima della fine del tag in questo modo:
. L'introduzione di questa stenografia, che non è utilizzata nella dichiarazione SGML per HTML 4.01, può confondere il software precedente che non ha familiarità con questa nuova convenzione. Una soluzione per questo è includere uno spazio prima di chiudere il tag, in quanto tale:
.
HTML e XHTML sono strettamente correlati e quindi possono essere documentati insieme. Sia HTML 4.01 che XHTML 1.0 hanno tre sotto specificazioni: strict, loose e frameset. Le dichiarazioni di apertura delle differenze per un documento distingue HTML e XHTML. Altre differenze sono sintattiche. HTML consente scorciatoie come elementi con tag opzionali, elementi vuoti senza etichette finali. XHTML è molto rigido sull'apertura e sulla chiusura dei tag. XHTML utilizza un attributo di funzionalità di definizione del linguaggio incorporato. Tutti i requisiti di sintassi di XML sono inclusi in un documento XHTML ben formato.
Si noti, tuttavia, che queste differenze si applicano solo quando un documento XHTML è offerto come applicazione di XML; cioè con un tipo di applicazione MIME / xhtml + xml, application / xml o text / xml. Un documento XHTML servito con un tipo MIME di text / html deve essere analizzato e interpretato come HTML, quindi le regole HTML si applicano in questo caso. Un foglio di stile scritto per un documento XHTML servito con un tipo MIME di text / html potrebbe non funzionare come previsto se il documento viene quindi servito con un tipo MIME di application / xhtml + xml. Per ulteriori informazioni sui tipi MIME, assicurarsi di leggere i tipi MIME.
Questo può essere particolarmente importante quando stai servendo i documenti XHTML come text / html. A meno che tu non sia consapevole delle differenze, puoi creare fogli di stile che non funzioneranno come previsto se il documento è servito come vero XHTML.
Dove i termini "XHTML" e "XHTML document" appaiono nel resto di questa sezione, si riferiscono al markup XHTML servito con un tipo MIME XML. Il markup XHTML pubblicato come text / html è un documento HTML per quanto riguarda i browser.
Come raccomandato dal W3C, è possibile seguire i passaggi per la migrazione di HTML a XHTML (documenti XHTML 1.0):
Seguendo attentamente le linee guida del W3C sulla compatibilità, un interprete (browser web) dovrebbe essere in grado di interpretare i documenti con la stessa facilità di HTML o XHTML.
Per capire il sottile differenze tra HTML e XHTML, considerare la trasformazione di un documento XHTML 1.0 valido e ben formato in un documento HTML 4.01 valido. Per effettuare questa traduzione è necessario i seguenti passaggi:
Lang
attributo piuttosto che l'XHTML xml: lang
attributo. XHTML utilizza l'attributo di funzionalità di definizione della lingua incorporato in XML. xmlns = URI
). HTML non ha strutture per gli spazi dei nomi.
). text / html
. Sia per HTML che XHTML, questo proviene da HTTP Tipo di contenuto
intestazione inviata dal server.
a
).