Each XHTML document must begin with a document type declaration that declares which version of XHTML the document adheres to. XHTML 1.0 comes in three flavors, each with a different DOCTYPE:
XHTML 1.0 Strict is a trimmed down version of XHTML 1.0 that emphasizes structure over presentation. Deprecated elements and attributes (including most presentational attributes), frames, and link targets are not allowed in XHTML 1.0 Strict. By writing to XHTML 1.0 Strict authors can achieve accessible, structurally rich documents that easily adapt to style sheets and different browsing situations. However, since many older browsers lack full support for style sheets, XHTML 1.0 Strict documents may look bland on older visual browsers such as Netscape Navigator 3.x.
The document type declaration for XHTML 1.0 Strict is
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional includes all elements and attributes of XHTML 1.0 Strict but adds presentational attributes, deprecated elements, and link targets. XHTML 1.0 Transitional recognizes the relatively poor browser support for style sheets, allowing many XHTML presentation features to be used as a transition towards XHTML 1.0 Strict.
The document type declaration for XHTML 1.0 Transitional is
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset is a variant of XHTML 1.0 Transitional for documents that use frames. The frameset element replaces the body in a Frameset document.
The document type declaration for XHTML 1.0 Frameset is
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">