XHTML
Rozszerzenia | .xhtml, .xht, .xml, .html,.htm |
---|---|
Typ MIME | application/xhtml+xml |
Opracowany przez | Konsorcjum World Wide Web |
Początkowa wersja | 26 stycznia 2000 |
Typ formatu | Język znaczników |
Oparte na | HTML , Extensible Markup Language |
Standard |
1.0 (zalecenie) , |
Specyfikacja | Otwarty format |
XHTML ( Extensible HyperText Markup Language ) to język znaczników używany do pisania stron w sieci WWW . Pierwotnie zaprojektowany jako następca HTML , XHTML jest oparty na składni zdefiniowanej przez XML , która jest nowsza, ale prostsza niż ta zdefiniowana przez SGML, na którym oparty jest HTML . W tamtym czasie chodziło o wykorzystanie technicznych korzyści, jakich oczekuje się od uproszczenia oferowanego przez XML.
Podobnie jak wiele języków opartych na XML , zaczyna się od litery X, która oznacza słowo rozszerzalny . Tak więc pierwszy dokument oficjalnie opisujący XHTML nazywa się XHTML 1.0 The Extensible HyperText Markup Language („XHTML 1.0 The Extensible HyperText Markup Language ”). Jednak jest to skrót XHTML, który jest znakiem towarowym konsorcjum World Wide Web Consortium (W3C) i jako jedyny jest używany w specyfikacjach po wersji 1.0.
XHTML 1.0 po prostu przeformułowuje HTML 4, aby zastosować XML 1.0. W składni same zmiany, bez funkcjonalności dodane lub usunięte. Konwersja dokumentu w HTML 4.01 zgodnego z XHTML 1.0 może odbywać się automatycznie, bez utraty informacji.
XHTML 1.0 stał się zaleceniem W3C w 2000 roku, a XHTML 1.1 w 2001 roku. W 2000 roku zarówno HTML 4, jak i XHTML były używane przez programistów i interpretowane przez przeglądarki internetowe .
Ten przykład ilustruje najczęstsze różnice składniowe między dokumentem napisanym w HTML 4 a 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>W przeciwieństwie do powyższej permisywnej składni HTML, ten sam dokument musi być „dobrze sformułowany”, aby był zgodny z regułami pisania 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>Poniższe ewolucje dzielą język XHTML na moduły, z których każdy grupuje pewien rodzaj funkcjonalności. Podział ten ma na celu umożliwienie rozszerzenia formatu lub odwrotnie w celu wyprowadzenia podzbiorów dostosowanych do określonych kontekstów. Więc :
XHTML 2.0 był w fazie rozwoju. Miał nie być kompatybilny pod względem pochodzenia i pochodzenia , zwłaszcza ze względu na wprowadzenie XForms i XFrames .
Wreszcie 2 lipca 2009W3C oficjalnie ogłosił rezygnację z rozwoju XHTML 2, aby poświęcić się całkowicie do swojego nowego następcy: HTML5 .
Aby dokument był prawidłowym XHTML, musi mieć deklarację typu (DOCTYPE) i kodowanie (ISO lub UTF) zgodne ze specyfikacjami W3C .
Deklaracja XML jest wymagana tylko w kilku warunkach kodowania (w szczególności zestaw znaków inny niż UTF-8) oraz gdy dokument jest traktowany jako dokument XML (typ treści application/xhtml+xml). Dlatego większość dokumentów XHTML 1.0 nie wymaga tego. Powoduje to również w przeglądarce internetowej Internet Explorer 6.0 problematyczny sposób interpretacji kaskadowych arkuszy stylów i skryptów JavaScript . Jednak wersja Internet Explorera 8 przypomina inne przeglądarki i jest zgodna z CSS.
W zależności od wybranego zestawu znaków dokument może więc zaczynać się od następującej instrukcji umieszczonej w pierwszym wierszu:
<?xml version="1.0" encoding="iso-8859-1"?>Kilka przykładów deklaracji typu dokumentu w 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"> Zestaw ramek XHTML 1.0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">Nadmiarowość atrybutów xml:langi langjest wymagana tylko w przypadku dokumentu XHTML 1.0 traktowanego jako dokument text/html, zgodnie z (nienormatywnymi) zaleceniami zgodności XHTML / HTML. Napiszemy wtedy:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">W dokumencie XHTML 1.0 traktowanym jako dokument application/xhtml+xmllub w dokumencie XHTML 1.1 i nie tylko, musisz napisać:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">