XHTML5.NL

DOCTYPE-declaratie HTML & XHTML

De DOCTYPE-declaratie geeft aan uit welke set elementen en attributen een document is opgebouwd. Deze declaratie vormt de eerste regel van het document, tenzij er nog een XML-declaratie boven staat. De DOCTYPE-declaratie is verplicht in HTML, maar niet in XML.

Dit komt bij (X)HTML dus neer op de versie van de specificatie en eventueel de gekozen variant (Strict, Transitional of Frameset).

Indien het MIME-type in de HTTP-header Content-Type text/html luidt, bepaalt dit tevens de rendermodus van het document. Er zijn er drie: standaardenmodus, bijna-standaardenmodus en quirksmodus. Zonder hier verder op in te gaan wordt de eerste zeer sterk aanbevolen. De tweede wordt gebruikt bij de varianten Transitional en Frameset, die in HTML5 niet meer voorkomen. De laatste komt alleen voor bij afwezigheid van een DOCTYPE-declaratie. In XML, dus bijvoorbeeld bij het MIME-type application/xhtml+xml, wordt altijd de standaardenmodus gebruikt.

(Internet Explorer 8 heeft overigens ook een compatibilteitsmodus, die op de slecht uitgevoerde standaardenmodus van versie 7 lijkt. Deze modus wordt geactiveerd met een druk op de compatibiliteitsknop in de werkbalk, die uitgeschakeld kan worden door de HTTP-header X-UA-Compatible de waarde IE=edge te geven. Deze compatibiliteitsmodus heeft geen relatie met de DOCTYPE-declaratie.)

De meest gebruikte DOCTYPE-declaraties zijn:

<!DOCTYPE html>
(X)HTML5 wordt gebruikt. Dit mag in zowel XML als HTML. Lenen uit SVG en MathML is toegestaan.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"
"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
XHTML 1.1 wordt gebruikt. Dit mag alleen in XML. Lenen uit SVG 1.1 en MathML 2.0 is toegestaan.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
XHTML 1.1 wordt gebruikt. Dit mag alleen in XML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Strict wordt gebruikt. Dit mag in zowel XML als XML-compatibel HTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Transitional wordt gebruikt. Dit mag in zowel XML als XML-compatibel HTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.0 Frameset wordt gebruikt. Dit mag in zowel XML als XML-compatibel HTML.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Strict wordt gebruikt. Dit mag alleen in HTML.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Transitional wordt gebruikt. Dit mag alleen in HTML.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
HTML 4.01 Frameset wordt gebruikt. Dit mag alleen in HTML.

Voor een site die (X)HTML5 gebruikt, zul je altijd de eerstgenoemde DOCTYPE-declaratie nemen.