The XMPP protocol is based on the Extensible Markup Language, or XML. It is XML that makes the protocol extensible, in a well-defined manner. Since XML elements are defined by namespaces, it is easy to mix content from different parties, without mixing meaning or semantics. Namespaces also provide a mechanism to control versioning and maintaining backward compatibility as interfaces are developed. As long as you control a namespace, for instance, by using your own domain, you can freely extend the protocol with anything you like, without negatively affecting other entities in the network.