» direct naar zoek en menu

Tijdschrift voor webwerkers » Artikel #40

XHTML, het makkelijke taaltje - Maar doen we er wel iets mee?

eXtensible Hypertext Markup Language is net drie jaar geworden: op 26 januari 2000 besloot het W3C om XHTML als officiële aanbeveling op te nemen, met als nobele taak de opvolging van HTML 4.01.

Sites van nu moeten vaak toonbaar zijn in een grote hoeveelheid browsers en browser versies. Regelmatig wordt er van ze verwacht dat ze voldoen aan Drempels Weg-richtlijnen. Bovendien is er de opkomst van alternatieve devices zoals telefoons en PDA’s met minder krachtige processoren waarmee rekening moet worden gehouden. Wil je dat je site er in alle gevallen acceptabel uitziet, dan is HTML niet het beste middel. Om schonere en stabielere code te produceren dan met HTML mogelijk is, adviseert W3C ons gebruik te maken van XHTML. Er zitten dus voordelen aan het gebruik van XHTML, en het is vrij eenvoudig te leren. Wordt XHTML daarom volop gebruikt? Laten we eens kijken wat er begin 2003 van de taal geworden is.

Wat is er leuk aan XHTML

XHTML heeft als basis de snel te leren – want beperkte – woordenschat van HTML. Daarnaast is het een applicatie van XML, en heeft daardoor de bijbehorende uitbreidingsmogelijkheden. XML kun je zien als een serie regels om opmaaktalen te definiëren. Als je het zou vergelijken met de menselijke taal, dan is XML het alfabet en het gegeven dat woorden gescheiden worden met een spatie. Verschillende talen passend bij verschillende behoeftes kunnen op die basis ontwikkeld worden. Doordat ze allemaal op dezelfde regels gebaseerd zijn, is het veel gemakkelijker om een nieuwe taal te leren en om talen te combineren. In het HTML tijdperk was er een vaste set elementen om te gebruiken. In XHTML 1.0 kun je HTML 4 elementen schaamteloos mixen met elementen uit andere XML talen zoals Wireless Markup Language (WML), maar ook met talen die ontwikkeld zijn voor multimedia toepassingen: Synchronized Multimedia Integration Language (SMIL), mathematical expressions (MathML), Scalable Vector Graphics (SVG).
Daarnaast gaat XHTML uit van een striktere scheiding tussen content en opmaak, waardoor je dezelfde content makkelijker kunt hergebruiken voor de verschillende devices.

Hoe maak ik XHTML

Het verschil tussen HTML 4.01 en XHTML 1.0 is in de praktijk niet zo groot, er zijn geen nieuwe elementen of attributen toegevoegd. Als je gaat XHTML-en moet je voortaan netjes al je elementen afsluiten. Ja, zelfs je breaks:

<br />

Er wordt van je verlangd dat je aanhalingtekens zet om de waardes van je attributen en ze altijd een waarde meegeeft:

<img src="nix.gif" width="1" height="1" border="0" alt="niks" />

Verder moet je onder andere je elementen correct nesten, en alle code in onderkast schrijven. Kortom, XHTML is schoongeboende HTML, nette code dus. Het grootste verschil zit ’m bovenin je pagina. Daar begint met een aantal hieronder beschreven root elements de XHTML wereld van ‘well-formedness’ en ‘validity’. Ten eerste zou je de browser moeten aangeven dat je XML 1.0 gebruikt, en wat de encoding is. Vaak kun je dat beter laten, want oudere browsers kunnen nare dingen met de opmaak van je pagina gaan doen als je het gebruikt, en het is niet verplicht. De DTD van de pagina moet aangeven worden: XHTML kent drie Document Type Definitions, dezelfde als die in HTML 4. Het zijn Strict, Transitional en Frameset. De Strict DTD wordt aanbevolen als je content en opmaak door het gebruik van stylesheets volledig hebt gescheiden. Je mag dus geen lay-out attributen in het document zelf plaatsen. Elementen zoals font en center zijn niet toegestaan.

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

De Transitional DTD kun je gebruiken als er wel opmaak-onderdelen in de pagina zitten. Deze DTD is handig als je pagina er ook nog goed uit moet zien in oudere browsers, die nog niet al te elegant omgaan met stylesheets.

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

Tenslotte is de frameset DTD nodig als je frames wilt gebruiken.

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

Verder geef je aan de html tag de XHTML namespace en het taal attribuut mee om aan te geven dat het een XHTML document is.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">

Alle XHTML pagina´s moeten met een van deze doctypes valideren om correct weergegeven te worden. Als de browser goed kan omgaan met de XHTML DTD, heb je de opmaak van de pagina, ongeacht het medium, altijd onder controle. In combinatie met XSL, de XML versie van Cascading Style Sheets, en Simple API for XML (SAX) of Document Object Model (DOM) support wordt er gestuurd wat het vragende medium nodig heeft. Of het nou een mobiele telefoon of een pc is, de DTD zal de data voor het specifieke medium sturen en de XML parser van het ontvangende medium zal de informatie omzetten en voorbereiden voor presentatie.
Bovendien is het prettige van coderen in XHTML dat het goed omgaat met oude browsers, dus je pagina’s zien er ook nog prima uit in versie 4.0 browsers.

De praktijk

Als je naar de broncode van websites kijkt die zijn gebouwd door grote internetbedrijven, dan zie je dat er nog nauwelijks gebruik gemaakt wordt van XHTML. Het zijn vooral sites van en door developers die gecodeerd zijn in XHTML.
Waarom heeft XHTML zich nog niet populair gemaakt? Wordt het grote voordeel van XHTML ten opzichte van HTML niet ingezien? Komt het doordat veel HTML editors nog geen of een gebrekkige XHTML ondersteuning bieden zodat er met de hand gecodeerd moet worden? Is het de irritante werkwijze van je pagina’s checken met een validator, verbeteringen aanbrengen, weer valideren enzovoorts, die storend wordt gevonden?

Voor al deze redenen is iets te zeggen, maar ze zijn tegelijkertijd argumenten om juist wel over te stappen op XHTML. Door het kleine verschil tussen HTML en XHTML is de overgang niet groot, terwijl we wel bekend raken met de voordelen van XML. Als je HTML 4.01 goed beheerst, kun je in een paar uur koning XHTML worden. Het coderen met de hand heeft sowieso voordelen ten opzichte van het gebruik van een WYSIWYG editor qua overzicht en het compact houden van code. Tenslotte is de worsteling om te komen tot een validerende pagina weliswaar tijdrovend, maar wel een goede manier om een stabiel document te produceren.

Dus toch XHTML?

Helaas zal het nog wel even duren voordat alle browsers netjes omgaan met DTD’s. Rare bijeffecten die ontstaan als je een HTML pagina omzet in XHTML verdwijnen vaak als je de doctype van een validerende pagina weghaalt. Toch loont het om over te stappen naar het coderen in XHTML. Het is nog steeds een eenvoudig te zetten, maar belangrijke client side stap in de richting van het XML en XSL model. En dat is gezien de ontwikkeling dat veel internet gerelateerde standaarden de XML kant opgaan geen verkeerde beweging. Het gebruik van XHTML laat je nadenken over het scheiden van content en opmaak, waardoor de vormgeving en de content van een site onafhankelijk van elkaar kunnen worden aangepast.

En dat is prettig. Bijvoorbeeld omdat het scheelt in laadtijd, aanpassingen eenvoudiger door te voeren zijn en je code er een stuk overzichtelijker op wordt. Nette code is ook fijn voor een andere programmeur die nog met jouw bouwsel aan de slag moet. En de kans dat je pagina er in verschillende browsers hetzelfde uitziet is een stuk groter als hij als XHTML valideert. Bovendien komt ie sneller binnen wanneer de code stabiel is en daardoor minder van de processor van bijvoorbeeld een mobiele telefoon vergt. Misschien dat je pagina zelfs aan Drempels Weg prioriteiten voldoet, doordat hij door optimaal gebruik van stylesheets ook door alternatieve browsers gelezen kan worden.

Auteur

Babette van Hardeveld

is hoofd client side programmeren bij Framfab Nederland. Heeft het afgelopen jaar de client side code voor onder andere Cyburg, Vereniging Bloemenveilingen in Nederland en de intranetten van Zorg en Zekerheid en Bouwdienst op haar naam gezet.

Verder is ze een zeldzame diersoort want een van de weinigen die XHTML tracht te promoten.

Publicatiedatum: 05 april 2003

Let op

Naar Voren is op 18 juli 2010 gestopt met publiceren. De artikelen staan als een soort archief online. Het kan dus zijn dat de informatie verouderd is en dat er inmiddels veel betere of makkelijkere manieren zijn om je doel te bereiken.

Copyright © 2002-heden » NAAR VOREN en de auteurs