Why do I have to use these namespace things in XHTML?
In the early days of HTML different groups and companies added new elements and attributes to HTML at will. This threatened to cause a chaos of different non-interoperable versions of HTML. XML (the X stands for Extensible) allows anyone to use elements and elements from different languages, but for a browser or other user agent to know which element belongs to which language, you have to tell it. The namespace declarations do just that.