HTML was originally designed for limited document expression and has not adapted well to the exploding interest in the Web. Because XHTML is based on XML, it is extensible, which means that designers can extend its capabilities, allowing developers to address future markup needs easily. XHTML is also designed to support the variety of new devices that will access the Internet as new technologies emerge. Any XHTML-compliant software must access and display XHTML regardless of the computer or display type.

As defined in the W3C XHTML recommendation, there are three “flavours” of XHTML:

XHTML Strict:—Use this when you want clean structural markup code, free of any markup tags associated with layout. Use XHTML Strict with Cascading Style Sheets to get the font, colour, and layout effects you want. If you are beginning a new Web site, you should code to this recommendation.

XHTML Transitional:—this type of XHTML is designed for people writing Web pages for the general public. The idea is to take advantage of XHTML features, including style sheets, but make small adjustments to your markup code for those viewing your pages with older browsers, which can’t understand style sheets.

XHTML Frameset:—Use this when you want to use frames to partition the browser window into two or more sections.