XML is not really a markup language in its own right, but instead a set of related technologies that gives web publishers the power to add additional information about the content they are portraying in their webpage’s. XML is a platform used to create customized markup languages for the web and to interact with software programs, such as databases. XML’s related technologies add for additional functionality for a customized language. XML “schemas” are used to define a set of rules that the language should follow, while XSLT (Extensible Style Sheet Language Transformations) is often used to convert data or code from one version of XML to another. For instance, you can convert any XML language to XHTML with the use of XSLT.
XML picks up where HTML falls short! HTML is the language of the internet, infact, its required in order to produce content on the web, and serves as part of the internet’s backbone when it comes to formatting and publishing data to the “World Wide Web.” The problem that arises with HTML is that it only provides a general standard way of formatting content. HTML elements don’t provide much information about the content they're portraying. Take the <p></p> elements for example, it defines the use of a paragraph, but it doesn’t provide information about the content in that paragraph. With XML we can create elements that are descriptive of the content in which they contain. If we wanted to, we could create a markup language for horses, as an example. We could call this markup language “EquineML”, and give it a root element that is descriptive of the languages content, such as <equine></equine>. Now we have a way to describe meaningful content that can be used across the web, databases, etc.