HTML contro XHTML

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.

Grafico comparativo

HTML rispetto al grafico di confronto XHTML
HTMLXHTML
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.

Contenuto: HTML vs XHTML

  • 1 Panoramica di HTML e XHTML
  • 2 Caratteristiche dei documenti HTML vs XHTML
  • 3 XHTML rispetto alla specifica HTML
  • 4 Come migrare da HTML a XHTML
  • 5 Come migrare da XHTML a HTML
  • 6 riferimenti

Panoramica di HTML e XHTML

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.

Funzionalità dei documenti HTML vs 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:
.

XHTML rispetto alla specifica HTML

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 migrare da HTML a XHTML

Come raccomandato dal W3C, è possibile seguire i passaggi per la migrazione di HTML a XHTML (documenti XHTML 1.0):

  • Include xml: attributi lang e lang sugli elementi che assegnano la lingua.
  • Utilizza la sintassi dell'elemento vuoto sugli elementi specificati come vuoti in HTML.
  • Includere uno spazio aggiuntivo nei tag elemento vuoto:
  • Includi tag di chiusura per elementi che possono avere contenuti ma sono vuoti:
  • Non includere la dichiarazione XML.

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.

Come migrare da XHTML a HTML

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:

  • La lingua per un elemento dovrebbe essere specificata con a Lang attributo piuttosto che l'XHTML xml: lang attributo. XHTML utilizza l'attributo di funzionalità di definizione della lingua incorporato in XML.
  • Rimuovere lo spazio dei nomi XML (xmlns = URI). HTML non ha strutture per gli spazi dei nomi.
  • Modificare la dichiarazione del tipo di documento da XHTML 1.0 a HTML 4.01.
  • Se presente, rimuovere la dichiarazione XML. (In genere questo è: ).
  • Assicurarsi che il tipo MIME del documento sia impostato su text / html. Sia per HTML che XHTML, questo proviene da HTTP Tipo di contenuto intestazione inviata dal server.
  • Modifica la sintassi dell'elemento vuoto XML in un elemento vuoto di stile HTML (
    a
    ).

Riferimenti

  • Wikipedia: XHTML
  • Wikipedia: HTML # basato su SGML e HTML basato su XML