Wat is een DOCTYPE?

Trefwoorden: HTML, valideren, W3C, DTD

1. Wat?


Alle HTML- en XHTML-pagina's zijn verplicht een DOCTYPE-definitie (DTD) te plaatsen bovenaan in de broncode. Aan de hand van deze kan de browser (of andere client) bepalen hoe hij zich moet gedragen ne hoe bepaalde dingen moeten weergegeven worden.

Als er geen, of een verkeerd, DOCTYPE opgegeven is, wordt een soort compatibiliteitsmodus geactiveerd ("Quirks mode"). Dit is een achterwaarts compatibele weergave. Pagina's worden dus weergegeven als door een gedateerde browser (bv. IE 4.0).

Verschillende browsers hanteren verschillend gedrag afhankelijk van de DOCTYPE-definitie die gebruikt wordt ("DOCTYPE switches").
Meer info over...
Opmerking: Opera 7 rendert geen enkel type in Quirks mode, behalve als er gebruik wordt gemaakt van een oudere versie van HTML dan 4.0, of als de URL in de DOCTYPE-tag afwezig is bij HTML 4.0 Frameset of HTML 4.0 Transitional.

2. De verschillende types


Eerst in vooral is er een verschil tussen HTML en XHTML, ze hebben dus een verschillend DOCTYPE. XHTML is de opvolger van HTML (4.01).

Zowel HTML als XHTML hebben drie DOCTYPE-types; Strict, Transitional en Frameset. Het verschil is eenvoudig:
  • Strict legt de nadruk op correct gebruik van HTML, d.w.z. enkel voor de syntax. Opmaak hoort met CSS te gebeuren. Verouderde tags (Deprecated elements), frames, en link targets zijn niet toegestaan.
  • Transitional laat alle tags toe, behalve frames.
  • Frameset dient voor documenten die gebruik maken van frames. De hoofdpagina, die dus je <frameset> bevat, hoort dit DOCTYPE te gebruiken, de frames zelf moeten echter Transitional of Strict gebruiken.

The good stuff

Als je weet tot welk type je pagina/code behoort, HTML of XHTML; Transitional, Strict of Frameset, kun je de gepaste coderegel toevoegen aan je code. Deze moet helemaal bovenaan komen, nog boven je <html>-tag.

HTML 4.01 Strict:
CODE
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional:
CODE
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset:
CODE
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0 Strict:
CODE
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional:
CODE
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset:
CODE
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Je HTML-code valideren

Dat kan via de W3C Markup Validation Service. Ook deze controleert je code aan de hand van de DTD die je gekozen hebt met je DOCTYPE-tag, net zoals een browser ze op een andere manier interpreteert.Dit artikel werd geschreven door rObkE op vrijdag 28 januari 2005 om 17:55 en werd sindsdien 4272 keer gelezen.

  • Pagina
  • 1 van 1

Bericht geplaatst door een gast op donderdag 31 maart 2005 om 20:58:28.
Het is misshien een stomme vraag, maar kan je php pagina's op deze manier valideren en zo niet hoe doe je het dan wel??
Bericht geplaatst door Meesje op zaterdag 21 januari 2006 om 17:37:19.
Meesje heeft nog geen avatar toegevoegd
Multiviteit: 424
Je kan dit doen door de juiste doctype toe te voegen aan je bestand. Denk er wel aan dat een pagina niet valid wordt door er een doctype aan toe te voegen. Het is wel één van de vereisten maar er zijn er nog wat. Zoals bv de verplichte sluittag bij elk element...

Je kan altijd eens een kijkje gaan nemen op www.w3.org:)
thanks multidesk!
  • Pagina
  • 1 van 1