XHTML
Extensii | .xhtml, .xht, .xml, .html,.htm |
---|---|
Tip MIME | application/xhtml+xml |
Dezvoltat de | Consorțiul World Wide Web |
Versiune inițială | 26 ianuarie 2000 |
Tipul formatului | Limbaj de marcare |
Bazat pe | HTML , limbaj extensibil de marcare |
Standard |
1.0 (Recomandare) , |
Specificație | Formatul deschis |
XHTML ( Extensible HyperText Markup Language ) este un limbaj de markup folosit pentru a scrie pagini pentru World Wide Web . Conceput inițial ca succesor al HTML , XHTML se bazează pe sintaxa definită de XML , care este mai nouă, dar mai simplă decât cea definită de SGML pe care se bazează HTML . La acea vreme, era vorba de a profita de avantajele tehnice așteptate de la simplificarea oferită de XML.
La fel ca multe limbaje bazate pe XML , acesta începe cu litera X, care înseamnă cuvântul extensibil . Deci, primul document care descrie oficial XHTML se numește XHTML 1.0 The Extensible HyperText Markup Language („XHTML 1.0 The Extensible HyperText Markup Language ”). Cu toate acestea, abrevierea XHTML este o marcă comercială a World Wide Web Consortium (W3C) și care este singura utilizată în specificațiile care au urmat versiunea 1.0.
XHTML 1.0 pur și simplu reformulează HTML 4 pentru a aplica XML 1.0. De sintaxa schimbă singur, fără funcționalitate adăugate sau eliminate. Conversia unui document în HTML 4.01 conform XHTML 1.0 se poate face automat fără pierderi de informații.
XHTML 1.0 a devenit o recomandare W3C în 2000, iar XHTML 1.1 în 2001. De-a lungul anilor 2000, HTML 4 și XHTML au fost folosite de dezvoltatori și interpretate de browserele web .
Acest exemplu ilustrează cele mai frecvente diferențe sintactice dintre un document scris în HTML 4 și 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>Spre deosebire de sintaxa permisivă HTML de mai sus, același document trebuie să fie „bine format” pentru a respecta regulile de scriere 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>Următoarele evoluții împart limbajul XHTML în module, fiecare grupând un tip de funcționalitate. Această diviziune este concepută pentru a permite extinderea formatului sau, invers, pentru a obține subseturi adaptate la contexte specifice. Asa de :
XHTML 2.0 era în curs de dezvoltare. Nu trebuia să fie compatibil în strămoși și descendență , în special datorită introducerii XForms și XFrames .
În cele din urmă 2 iulie 2009W3C a anunțat oficial abandonarea dezvoltării XHTML 2, pentru a se dedica în întregime noul său succesor: HTML5 .
Pentru ca un document să fie XHTML valid, acesta trebuie să aibă o declarație de tip (DOCTYPE) și o codificare (ISO sau UTF) care este conformă cu specificațiile W3C .
Declarația XML este necesară numai în câteva condiții de codificare (set de caractere altele decât UTF-8 în special) și atunci când documentul este tratat ca un document XML (tip de conținut application/xhtml+xml). Prin urmare, majoritatea documentelor XHTML 1.0 nu necesită acest lucru. De asemenea, provoacă în browserul web Internet Explorer 6.0 un mod problematic de interpretare a foilor de stil în cascadă și a scripturilor JavaScript . Cu toate acestea, versiunea Internet Explorer 8 tinde să semene cu alte browsere și să se conformeze CSS.
În funcție de setul de caractere selectat, documentul poate începe, prin urmare, cu următoarea instrucțiune plasată în prima linie:
<?xml version="1.0" encoding="iso-8859-1"?>Câteva exemple de declarații de tip document în 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 de cadre XHTML 1.0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">Redundanța atributelor xml:langși langeste necesară numai în cazul unui document XHTML 1.0 tratat ca un document text/html, conform recomandărilor (non-normative) de compatibilitate XHTML / HTML. Vom scrie apoi:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">Într-un document XHTML 1.0 tratat ca un document application/xhtml+xmlsau într-un document XHTML 1.1 și nu numai, trebuie să scrieți:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">