The major basic change between the two languages involves XHTML being more ‘strict’ in the definition of tags.
For example, take the following tag, an ‘empty’ element as it is known:
<img src="xyz.jpg">
This is a simple tag naming an image, and acceptable in HTML programming.
Now look at how it must be written in XHTML –
<img src="xyz.jpg” />
The difference is very subtle, but very important: in the second example, the tag has been correctly closed, leading to no possible misinterpretation. This is a common theme throughout the newer language, which insists on correct closing of such tags in order to facilitate a cleaner and less error prone programming.