<!DOCTYPE...>

The following are various prologue identifiers that should be used in HTML documents. With the identifier is the name of the HTML DTD (document type definition) that the prologue identifier labels the HTML document as adhering to. I.e. a HTML document whose prologue identifier is <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Level 1//EN//"> should adhere to the HTML-1.DTD (see the RFC for HTML 2.0 (RFC1866) for the DTD). Such a document should not contain Form elements for example.

The document prologue identifier should be included before the <HTML> element of a HTML document, in fact, it should be the first line of any HTML document.

How to refer to the HTML 4.0 specification (correct at the time of writing) :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

How to refer to HTML Level 3.2 :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">

Ways to refer to Level 2: most general to most specific
These all require conformance to the HTML.DTD.

<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML//EN">
<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML 2.0//EN">
<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML Level 2//EN">
<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML 2.0 Level 2//EN">

Ways to refer to Level 1: most general to most specific
These all require conformance to the HTML-1.DTD.

<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML Level 1//EN">
<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML 2.0 Level 1//EN">

Ways to refer to Strict Level 2: most general to most specific
These all require conformance to the HTML-S.DTD.

<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML Strict//EN">
<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML 2.0 Strict//EN">
<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML Strict Level 2//EN">
<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML 2.0 Strict Level 2//EN">

Ways to refer to Strict Level 1: most general to most specific
These all require conformance to the HTML1-S.DTD.

<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML Strict Level 1//EN">
<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML 2.0 Strict Level 1//EN">