XHTML

introductie

Joost van Meeteren


XHTML 1.0 - Transitional

Webpagina's (met de extensie *.html) worden in XHTML 1.0 met het kenmerk 'Transitional' en 'Strict' gemaakt.

XHTML 1.0 ('Extensible HyperText Markup Language 1.0' = een soort computertaal waarmee webpagina's worden (op)gemaakt) is de opvolger van HTML 4.01.

XHTML 1.0 'Transitional' ligt het meest in de buurt van HTML 4.01, omdat het de opmaakregels van 4.01 nog toelaat (denk hierbij bijvoorbeeld aan <font color="#336600">[tekst]</font>).

Validatie volgens de normen van XHTML 1.0 is alleen mogelijk wanneer de webpagina een zogenaamde 'DTD'-regel ('DTD' = 'DocType Declaration') bevat. De DocType Declaration komt helemaal bovenaan in het HTML-bestand te staan, nog boven de <html></html>-sectie.

En ook al zou de inhoud van het webbestand geheel voldoen aan XHTML 1.0, toch wordt het bestand zonder de 'DTD'-regel niet als zodanig gevalideerd.

De weergave van ongevalideerde (zonder een 'DTD') en gevalideerde (met een 'DTD') webpagina's is (in deze website) doorgaans identiek. Ongevalideerde webpagina's staan daarentegen bijvoorbeeld een gekleurde scrollbar / schuifbalk toe. In gevalideerd XHTML en HTML wordt die weergave-optie niet toegestaan. De gekleurde scrollbar / schuifbak is dan overigens alleen zichtbaar in Internet Explorer.


De DocType Declaration ('DTD') van XHTML 1.0 'Transitional' ziet er als volgt uit:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Opmerking 1. De andere types DocType Declarations van XHTML 1.0 worden verderop besproken.


Overeenkomsten. Waarin komt XHTML 1.0 met zijn voorganger HTML 4.01 overeen?

In XHTML 1.0 en HTML 4.01 geldt het basisprincipe dat elke tag (<p>) wordt afgesloten met een eindtag (</p>).

Een andere belangrijke overeenkomst is de norm die het W3C stelt voor de juiste volgorde van reeksen tags: <b><u> (rond vette en onderstreepte tekst) </u></b>. De tagvolgorde <b><u> (rond vette en onderstreepte tekst) </b></u> is onjuist, maar heeft geen praktische gevolgen voor de weergave.


Verschillen. Maar waarin verschilt XHTML 1.0 dan van zijn voorganger HTML 4.01?

In tegenstelling tot HTML (<br>) moet in XHTML een regel beginnend met de tag <br> altijd worden afgesloten met een eindtag </br>. In XHTML kunnen de begin- en eindtag <br></br> ook te samen aan het begin van de regel als <br /> worden weergegeven.

In XHTML worden metatags met een /> afgesloten (die daardoor tegelijkertijd als eindtag dienst doet) zoals in <meta http-equiv="pragma" content="no-cache" /> en in HTML worden metatags met een > afgesloten (er ontbreekt hier dan ook een eindtag): <meta http-equiv="pragma" content="no-cache">.

Ditzelfde principe geldt ook voor de stylesheet-tag: <link href="stylesheet.css" rel="stylesheet" type="text/css" /> (in XHTML) en <link href="stylesheet.css" rel="stylesheet" type="text/css"> (in HTML).


Ook al is een XHTML-bestand niet volgens de standaarden gevalideerd (zie 'W3C XHTML 1.0' hieronder!), toch zal de webpagina naar behoren worden weergegeven. Bij XML-bestanden (met de extensie .xml) is dat overigens heel anders. Als daar een fout in de broncode zit, dan wordt die fout direct in de weergavemodus / in het browserscherm gemeld.


XHTML 1.0 - Strict

Naast het kenmerk 'Transitional' in de 'DTD' kent het bestand in XHTML 1.0 ook nog het kenmerk 'Strict'.

De DocType Declaration ('DTD') van een door het W3C gevalideerd XHTML 1.0 'Strict'-webbestand ziet er als volgt uit:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Het verschil tussen 'Strict' en 'Transitional' zit hem hier in dat XHTML 'Strict' bepaalde tags / elementen zoals <font> / font="" en align="center" niet meer toelaat, terwijl 'Transitional' de regels van 'Strict' voorschrijft maar tegelijkertijd 'oude' tags en elementen uit HTML gedoogt. Dat geldt ook voor speciale (letter)tekens zoals & die in de broncode bij 'Strict' als &amp; moet worden genoteerd.

Opmerking 2. Het kenmerk 'Frameset' staat alleen in de 'DTD' van Frames-webpagina's die hier niet worden gebruikt.


XHTML 1.1

De DocType Declaration ('DTD') van XHTML 1.1 ziet er als volgt uit:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"             "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Deze 'DTD' is verplicht om het XHTML 1.1-bestand dan ook volgens de regels zoals geldend voor 1.1 en door het W3C vastgelegd, te kunnen valideren.


In XHTML 1.1 zijn de kenmerken 'Transitional', 'Strict' en 'Frameset' zoals gebruikt in HTML 4.01 en XHTML 1.0, in de 'DTD' verdwenen.


XHTML 1.1 is de eerste XHTML versie die is gebaseerd op de modularisatie van XHTML en zou de basis moeten zijn van toekomstige XHTML versies. Door deze modularisatie en het niet meer toestaan van het text/html mime-type is XHTML 1.1 niet compatibel met XHTML 1.0 en HTML 4.01. XHTML 1.1 heeft ook ondersteuning voor Ruby, een opmaaktaal voor Oost-Aziatische talen.

Modularisatie betekent een andere manier van schrijven van XHTML 1.1 documenten door het gebruiken van XHTML-Modularisatie. Dat is het indelen met bekende componenten van HTML en XHTML (zoals text, tables, frames, forms) in te onderscheiden stukjes, zeg maar modules.

Een ander verschil met XHTML 1.0 is dat er in XHTML 1.1 steeds meer gewicht wordt gegeven aan het gebruik van Stylesheets. Anders gezegd, er zijn vrijwel geen lay-out attributen meer in XHTML 1.1 aanwezig. De scheiding van structuur en presentatie is hier vrijwel volledig, en al het presenteerwerk gaat in het stijlblad (Stylesheet) zitten.

Bovenstaande informatie / tekst is min of meer overgenomen van de websites Wikipedia Extensible HyperText Markup Language, A. Wijzigingen van XHTML 1.0 Strict en 2.1.3.3 XHTML 1.0, 1.1, and Modularisatie.


Opmerking 3. Een belangrijke bron met achtergrondinformatie over XHTML 1.1 is te vinden op XHTML™ 1.1 - Module-based XHTML.

Opmerking 4. Andere belangrijke bronnen met informatie over XHTML 1.1 zijn te vinden op XHTML Reference - ... based on XHTML 1.0 Strict / XHTML 1.1 en XHTML 1.1 Element ( Tag ) and Attribute Reference.


XHTML 2.0

Net als in XHTML 1.1 waren ook in XHTML 2.0 de kenmerken 'Transitional', 'Strict' en 'Frameset' in de 'DTD' verdwenen.


Waren verdwenen, want de ontwikkeling van XHTML 2.0 is door het W3C gestaakt om alle aandacht te kunnen geven aan de ontwikkeling van HTML 5 (zie hiervoor W3C dumpt xhtml 2 ...!).
Het zou een volledig nieuwe opmaaktaal worden en niet zomaar een nieuwe versie. XHTML 2.0 zou dan ook niet compatibel zijn met HTML of enige andere versie van XHTML (op die non-compatibiliteit is de nodige kritiek geleverd).


De grootste verschillen tussen XHTML 2.0 en XHTML 1.0 waren:

HTML Forms zouden ingewisseld worden met XForms (zie hiervoor XForms Example!).

HTML Frames zouden ingewisseld worden met XFrames (zie hiervoor XFrames!).

De DOM Events zouden ingewisseld worden met XML Events die het XML Document Object Model gebruiken.

Er zou een nieuw lijsttype geïntroduceerd worden: <nl> was speciaal bedoeld voor het maken van navigaties.

Elk element kon gebruikt gaan worden als een hyperlink, bijvoorbeeld: <li href="articles.html">Startpagina</li>.

Elk element kon alternatieve media gaan aangeven met behulp van het src-attribuut, bijvoorbeeld: <p src="lbridge.jpg" type="image/jpeg">London Bridge</p> in plaats van <img src="lbridge.jpg" alt="London Bridge" />.

Het <img>-element zou worden verwijderd. Afbeeldingen moesten getoond gaan worden met behulp van het <object> element, bijvoorbeeld: <object type="image/jpeg" src="plaatje.jpg">Alternatieve tekst</object>

Naast de kop-elementen <h1> tot en met <h6> konden nu ook de <h>- en <section>-elementen gebruikt worden om beter de structuur van de tekst aan te geven. Zie ook het script-voorbeeld hieronder!

De lettertype elementen <i>, <b> en <tt> zouden afwezig zijn in XHTML 2.0. De enige lettertype-elementen die zouden overblijven waren <sup> en <sub>.

Bovenstaande tekst is min of meer integraal overgenomen uit XHTML 1.1.


Dan zijn er nog verdere kenmerken van XHTML 2.0 te noemen:

De alinea:
<p>Dit is een voorbeeldzin in (X)HTML.<br />
En dit is een regel direct eronder;<br />
aangevuld met een tweede regel eronder.</p>

zou dan:

<p>Dit is een voorbeeldzin in XHTML 2.0.
<line>En dit is een regel direct eronder;</line>
aangevuld met een tweede regel eronder.</p>


zijn geworden.

... en hier is ook nog een script-voorbeeld met <h> (zie ook hierboven!):

De alinea: <h2>Dit is een voorbeeldkopregel.</h2>
<p>En dit is een voorbeeldalinea eronder.</p>
<p>Hier volgt nog een voorbeeldalinea ...</p>
<h3>... met een kop er onder ...</h3>
<p>... en een alinea daar weer onder.</p>

zou dan:

<section>
<h>Dit is een voorbeeldkopregel.</h>
<p>En dit is een voorbeeldalinea eronder.</p>
<section>
<p>Hier volgt nog een voorbeeldalinea. ...</p>
<h>... met een kop eronder ...</h>
<p>... en een alinea daar weer onder.</p>


zijn geworden.

Deze twee voorbeelden zijn ontleend aan XHTML 2.0 Drafted.


Verder zou de DocType Declaration ('DTD') van XHTML 2.0 er als volgt uit zijn gaan zien:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"             "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">


Opmerking 5. De webmaster heeft een XHTML 2.0-webpagina nooit gevalideerd gekregen met de W3C-validator (via W3C Markup Validation Service), ook al werden de juiste tags gebruikt. Er ontbraken blijkbaar bepaalde elementen in het bestand.

Opmerking 6. Het section-element van XHMTL 2.0 is de semantische tag <section> geworden, de sectie waar zich (een deel van de) content van een webpagina bevindt.


XHTML Basic 1.0

XHTML kent ook nog een 'kleine' versie in de vorm van XHTML Basic 1.0 die onder meer voor mobiele telefoons wordt gebruikt.

XHTML Basic 1.0 wordt gebruikt in bijvoorbeeld PDA's (Personal Digital Assistant).

Een PDA ofwel Personal Digital Assistant is een klein draagbaar toestel dat computer-, telefonie-, fax- en netwerkfuncties combineert. De moderne PDA van 2006 kan dienen als mobiele telefoon en persoonlijke organiser.

Sommige PDA's zijn uitgerust met een minitoetsenbord, andere met een aanraakscherm of touch screen en een pen of stylus.

De term Personal Digital Assistant is bedacht door John Sculley, topman van Apple.

Deze tekst is integraal overgenomen van Wikipedia Personal Digital Assistant.


Hier volgt een gevalideerd voorbeeld van een webpagina in XHTML Basic 1.0: webpagina in XHTML Basic 1.0.


Joost De WebMaker
2002-2024 © Joost van Meeteren
Laatste update website: donderdag 21 november 2024