While the building blocks of the Jabber protocol, described in Chapter 5, provide the groundwork for our solutions, for our chess rules, there's still something missing.
There's a purity and elegance that's to be had with usage of the three core elements <message/>, <presence/>, and <iq/>, but there's a depth of meaning that's missing. While the core elements define the moves we can make, it's the Jabber namespaces that provide us with the contextual set-moves that allow us to relate Jabber to the real world.
Namespaces provide a level of meaning, an environmental layer, above the basic "packet shunting" world that would otherwise exist if our elements were to be passed back and forth bereft of context and application.
Basic activities like user registration, authentication, roster management, and time stamping are all made possible using meaning brought about by the application of standard Jabber namespaces to our elements.
This Chapter describes those namespaces.