XHTML Syntax

Het schrijven van XHTML-code vereist een zuivere HTML-syntaxis.

Meer grammaticale regels van XHTML:

  • Naam van attributen moet klein geschreven zijn
  • Waarden van attributen moeten worden gequote
  • Attributen kunnen niet worden afgekort
  • Gebruik de Id-eigenschap in plaats van de name-eigenschap
  • XHTML DTD definieert de verplichte HTML-elementen

Naam van attributen moet klein geschreven zijn

Dit is fout:

<table WIDTH="100%">

Dit is correct:

<table width="100%">

Waarden van attributen moeten worden gequote

Dit is fout:

<table width=100%>

Dit is correct:

<table width="100%">

Attributen kunnen niet worden afgekort

Dit is fout:

<input checked>
<input readonly>
<input disabled>
<option selected>
<frame noresize>

Dit is correct:

<input checked="checked" />
<input readonly="readonly" />
<input disabled="disabled" />
<option selected="selected" />
<frame noresize="noresize" />

Hier is een lijst van afkorte attributen van HTML en hun equivalenten in XHTML:

HTML XHTML
compact compact="compact"
checked checked="checked"
declare declare="declare"
readonly readonly="readonly"
disabled disabled="disabled"
selected selected="selected"
defer defer="defer"
ismap ismap="ismap"
nohref nohref="nohref"
noshade noshade="noshade"
nowrap nowrap="nowrap"
multiple multiple="multiple"
noresize noresize="noresize"

Gebruik de id-eigenschap in plaats van de name-eigenschap

HTML 4.01 definieert de name-eigenschap voor de volgende elementen: a, applet, frame, iframe, img, en map.

Het gebruik van de name-eigenschap wordt in XHTML niet aanbevolen; gebruik id in plaats daarvan.

Dit is fout:

<img src="picture.gif" name="picture1" />

Dit is correct:

<img src="picture.gif" id="picture1" />

Belangrijke compatibiliteitstip:

Je moet een extra spatie toevoegen voor het "/"-teken om je XHTML compatibel te maken met moderne browsers.

Taal-eigenschap (lang)

De lang-eigenschap wordt toegepast op bijna alle XHTML-elementen. Het definieert het type taal dat binnen het element wordt gebruikt.

Als je een lang-eigenschap gebruikt voor een element, moet je een extra xml:lang toevoegen, zoals hierboven:

<div lang="no" xml:lang="no">Hallo Noorwegen!</div>

Verplichte XHTML-elementen

Alle XHTML-documenten moeten een bestandstypeverklaring (DOCTYPE-declaratie) bevatten. In een XHTML-document moeten de html, head, en body-elementen aanwezig zijn, en het title-element moet zich bevinden binnen het head-element.

Hier is een geminimaliseerde XHTML-bestandstemplate:

<!DOCTYPE Doctype goes here>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title goes here</title>
</head>
<body>
</body>
</html>

Tip:De declaratie van het bestandstype is geen onderdeel van het XHTML-document zelf. Het is geen XHTML-element en heeft geen sluitende tag.

Tip:In XHTML is de xmlns-eigenschap binnen de <html>-tag noodzakelijk. Hoewel de validatietool van w3.org geen foutmelding toont wanneer deze eigenschap ontbreekt in het XHTML-document, wordt de waarde 'xmlns=http://www.w3.org/1999/xhtml' automatisch toegevoegd aan de <html>-tag, zelfs als je deze niet in de code opneemt.

Je zal in het volgende hoofdstuk meer leren over de kennis van het XHTML documenttypeverklaring.