The fact that HyperText Markup language belongs to formal languages is a certain limitation for it, in the sense that tags and their hierarchical structure are rigidly described in the specification. Thus, XML, which can help you create your tags and form their structure, is gaining popularity. The difference between HTML and XML lies not only in the tags but also in rules for writing code. When working with HTML, browser does not notice various minor flaws and shortcomings in the structure as well as the fact that attribute is not correctly specified. XML does not let these tricks to be unnoticed, so the browser will detect incorrectly formed document and give an error. Remember, it is necessary to minify HTML to remove all excess characters and spaces.
What is xhtml?
XHTML, as an intermediate step between two languages, was developed in order to teach developers the “right” thought pattern, change their style of writing code, and narrow the gap between HTML and XML.
XHTML (EXtensible Hypertext Markup Language) is designed to replace HTML and is considered its more stringent version. In general, W3C defines XHTML as the latest version of HTML, which will gradually replace it. Only time can show whether it will happen or no.
If we speculate on perfect code for a web page, then it can be compared to a program that will not be compiled until all the errors are corrected. The browser acts as a compiler and does not display the document if it does not meet the specification. XHTML, retaining all the features of HTML, introduces stricter rules for creating pages to get closer to the “perfect” code. This allows making websites independent of the display device and browser. In other words, all modern browsers and devices like computers, smartphones, PDAs, and netbooks will correctly display site, etc.
Practically, not everything is that easy. Browser developers can not afford to have their creation work only with the “correct” code. Because most of the world sites simply will not be displayed in such a browser. Both developers and users are to blame for this state of affairs. Developers did not provide proper specification support in their browsers, and users did not bother to follow it.
For these reasons, XHTML 1.x is just a semblance of two languages with more stringent syntax, rather than a promising markup language, which must necessarily be changed over to, due to its unique capabilities.