Pixel Pete saysThe xmlns namespace on <html> declares the document uses the XHTML vocabulary.
XML uses namespaces to disambiguate vocabularies. XHTML's root carries xmlns="http://www.w3.org/1999/xhtml", telling parsers these are XHTML elements. Namespaces also let you mix vocabularies — embedding SVG or MathML inside XHTML by giving each its own namespace.
Power-ups you unlock
xmlns declares the XHTML vocabulary
Goes on the root <html> element
Namespaces disambiguate element sets
Enables mixing SVG/MathML in one doc
Quirks Mode attacks — common mistakes
Omitting the xmlns in true XHTML
Wrong namespace URI
Forgetting embedded SVG/MathML need their own namespaces
Boss battleAdd the XHTML namespace to a root element and note where SVG’s would go.