XHTML is a language for writing webpages. It is the newest form of the traditional HTML webpage language, and meets all of the requirements for being an XML language. That means that the language is compatible with modern web browsers, and can also be parsed as valid XML by other tools such as XML editors.
HTML is a very lenient language, allowing for variations in syntax. For instance, authors of HTML documents can quote attributes with either single or double quotes, even within the same document. This necessitates a robust browser that can handle all the different variations. Thus, web browsers must be large, complex programs that consume many systems resources. To make matters worse, all common web browsers must be able to understand and correct error in HTML code, as the most popular web authoring tool, Microsoft Frontpage, does not produce valid code. This adds to the complexity of web browsers. In contrast, XML is a very strict language, allowing no room for author's error. To be valid, XML parsing tools, such as an XHTML web browser, must display an error when encountering invalid code instead of trying to fix it. This makes the parser much simpler and reduces the systems resources necessary to run it. Thus, XHTML webpages can theoretically be displayed faster and more consistently across different web browsers and different platforms. In fact, XML parsers (and thus XHTML web browsers) can be installed in hardware as simple as a mobile telephone, and most cellphones today come with XHTML web browsers preinstalled.
The fundamental differences between XML and HTML are that XML is a language used to describe data, with the presentation left to the user agent. HTML, of the other hand, is a language used to present data, with no way to describe its meaning. In the early days of the World Wide Web, there was no need for HTML to describe the meaning of the data it contained, as the documents were intended to be read by humans only. Combining these two properties, XHTML is a language that is able to describe the data it contains, and also includes instructions on how to display that data. Often, the method used to describe the presentation of data in XHTML is CSS, which can reside outside of the XHTML document itself, or in a special part of the document called the head that is not displayed to the end user.
Acronyms Programming Technology Terminology Questions