XHTML
Estensioni | .xhtml, .xht, .xml, .html,.htm |
---|---|
Tipo MIME | application/xhtml+xml |
Sviluppato da | World Wide Web Consortium |
Versione iniziale | 26 gennaio 2000 |
Tipo di formato | Linguaggio con marcatori |
Basato su | HTML , Extensible Markup Language |
Standard |
1.0 (Raccomandazione) , |
Specifica | Formato aperto |
XHTML ( Extensible HyperText Markup Language ) è un linguaggio di markup utilizzato per scrivere pagine per il World Wide Web . Progettato originariamente come successore dell'HTML , XHTML si basa sulla sintassi definita da XML , che è più recente ma più semplice di quella definita dall'SGML su cui si basa l' HTML . All'epoca si trattava di sfruttare i vantaggi tecnici attesi dalla semplificazione offerta da XML.
Come molti linguaggi basati su XML , inizia con la lettera X, che sta per la parola estensibile . Quindi il primo documento che descrive ufficialmente XHTML si chiama XHTML 1.0 The Extensible HyperText Markup Language ("XHTML 1.0 The Extensible HyperText Markup Language "). Tuttavia, è l' abbreviazione XHTML che è un marchio del World Wide Web Consortium (W3C) e che è l'unico utilizzato nelle specifiche che seguono la versione 1.0.
XHTML 1.0 riformula semplicemente HTML 4 per applicare XML 1.0. La sola sintassi cambia, senza alcuna funzionalità aggiunta o rimossa. La conversione di un documento in HTML 4.01 conforme a XHTML 1.0 può essere eseguita automaticamente senza perdita di informazioni.
XHTML 1.0 è diventato una raccomandazione del W3C nel 2000 e XHTML 1.1 nel 2001. Durante gli anni 2000, HTML 4 e XHTML sono stati entrambi utilizzati dagli sviluppatori e interpretati dai browser web .
Questo esempio illustra le differenze sintattiche più comuni tra un documento scritto in HTML 4 e XHTML 1.0.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <title>Exemple HTML 4</title> <ul> <li>Des éléments comme HTML, HEAD et BODY sont implicites, leurs balises ouvrantes et fermantes sont optionnelles.</li> <li>De nombreuses balises fermantes sont optionnelles, notamment pour P (paragraphe) et LI (entrée de liste). <li>Les noms d'éléments et d'attributs peuvent <EM Class="important">librement</Em> mélanger majuscules et minuscules.</li> <li>Certains attributs ont une valeur par défaut <input type="checkbox" checked value="...">.</li> <li>Les guillemets ne sont pas <em class=important>toujours</em> obligatoires autour des valeurs d'attribut.</li> <li>Les éléments vides n'ont pas de syntaxe fermante <img src="i.png" alt="i">.</li> </ul>A differenza della sintassi HTML permissiva di cui sopra, lo stesso documento deve essere "ben formato" per seguire le regole di scrittura XHTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Exemple XHTML 1.0</title> </head> <body> <ul> <li>Tous les éléments doivent être explicitement balisés.</li> <li>Les balises fermantes ne sont pas optionnelles.</li> <li>Les noms d'éléments et d'attributs <em class="important">doivent</em> être en minuscules.</li> <li>Tous les attributs doivent avoir une valeur explicite <input type="checkbox" checked="checked" value="..." />.</li> <li>Les guillemets sont <em class="important">toujours</em> obligatoires autour des valeurs d'attribut.</li> <li>Les éléments vides doivent être fermés <img src="i.png" alt="i"/>.</li> </ul> </body> </html>Le seguenti evoluzioni dividono il linguaggio XHTML in moduli, ognuno dei quali raggruppa un tipo di funzionalità. Questa divisione è progettata per consentire l'estensione del formato o, al contrario, per derivare sottoinsiemi adattati a contesti specifici. In tal modo :
XHTML 2.0 era in fase di sviluppo. Non doveva essere compatibile in ascendenza e discendenza , soprattutto a causa dell'introduzione di XForms e XFrames .
Infine il 2 luglio 2009il W3C ha annunciato ufficialmente l'abbandono dello sviluppo di XHTML 2 per dedicarsi interamente al suo nuovo successore: HTML5 .
Affinché un documento sia XHTML valido, deve avere una dichiarazione di tipo (DOCTYPE) e una codifica (ISO o UTF) conforme alle specifiche W3C .
La dichiarazione XML è richiesta solo in alcune condizioni di codifica (set di caratteri diverso da UTF-8 in particolare) e quando il documento viene trattato come un documento XML (tipo di contenuto application/xhtml+xml). La maggior parte dei documenti XHTML 1.0 quindi non lo richiedono. Inoltre, causa nel browser Web Internet Explorer 6.0 un modo problematico di interpretare i fogli di stile a cascata e gli script JavaScript . Tuttavia, la versione di Internet Explorer 8 tende ad assomigliare ad altri browser e conforme ai CSS.
A seconda del set di caratteri selezionato, il documento può quindi iniziare con la seguente istruzione posta nella prima riga:
<?xml version="1.0" encoding="iso-8859-1"?>Alcuni esempi di dichiarazione del tipo di documento in XHTML:
XHTML 1.0 Strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> XHTML 1.0 Transitional <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Set di frame XHTML 1.0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">La ridondanza degli attributi xml:langed langè richiesta solo nel caso di un documento XHTML 1.0 trattato come un documento text/html, secondo le raccomandazioni (non normative) di compatibilità XHTML / HTML. Quindi scriveremo:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">In un documento XHTML 1.0 trattato come un documento application/xhtml+xmlo in un documento XHTML 1.1 e oltre, è necessario scrivere:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">