Doctype

maart 1st, 2008

Wat is een DOCTYPE en waar is hij goed voor? Heb ik zo’n DOCTYPE überhaubt nodig?

Er is niet maar één type HTML, er zijn er zelfs een heleboel: HTML 4.01 Strict, HTML 4.01 Transitional, XHTML 1.0 Strict, en nog vele anderen. Al deze typen van HTML zijn gedefinieerd in hun respectievelijke W3C specificaties, maar ze zijn ook gedefinieerd in een door machine leesbare taal die de juiste structuur, elementen en atributen van een type HTML specificeren. Zo’n definietie heet de “Document Type Definition”, of, afgekort, DTD.
~ Olivier Thereaux

Deze wordt gebruikt om de browser te laten weten welke versie van HTML je gebruikt. Als je hem niet gebruikt of verkeerd gebuikt, gaat de browser ervanuit dat je niet weet waar je mee bezig bent en zet hij zichzelf in ‘quirks mode’, die dingen niet rendert zoals het hoort. Het zou minder ‘kritiesch’ moeten zijn maar is eigenlijk lijkt het erg willekeurig en verwarrent. Het hoofdletter gebruik moet zijn zoals in het voorbeeld hier onder (met de in hoofdletters ‘DOCTYPE’). Hij wordt niet als andere tags afgesloten.
~ Patrick Griffiths - HTML Dog

Example

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

Vergeet niet dat de DTD grote invloed heeft op hoe je de code die erop volgt moet formuleren. Somige DTD’s vereisen dat extra tags in je document zet. Om het wat makkelijker voor je te maken heb ik een lijstje van DTD’s opgesteld.

HTML

HTML 4.01 Transitional

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>

HTML 4.01 Strict

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>

HTML 4.01 Frameset

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title></title>
</head>
<frameset>
</frameset>
</html>

XHTML

XHTML 1.0 Transitional

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title></title>
</head>
<body>
</body>
</html>

XHTML 1.0 Strict

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title></title>
</head>
<body>
</body>
</html>

XHTML 1.0 Frameset

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title></title>
</head>
<frameset>
</frameset>
</html>

XHTML 1.1

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN” “http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title></title>
</head>
<body>
</body>
</html>

Leave a Reply

You must be logged in to post a comment.