XML (eXtensible Markup Language) is a generic language used to create new markup languages. XML defines a set of rules for electronically encoded documents. Markup languages are used to clearly separate teh content from the structure of an electronic document. The word 'extensible" means elements and atributes can be created by the designer/author, then used to create structural markup resulting in structure for electronic documents, websites, etc. XML uses tags to define or organize data - written in text format XML is considered verbose. XML formats can be combined and reused to create new document formats. XML is license-free, platform-independent and fairly well supported.
Advantages of XML - The tags are unlimited and unrestricted allowing a lot of flexibility. With XML you are essentially writing your own markup language allowing you to create the language to suit a specific task. In relation to HTML, XML supports separation of the GUI from the data/content by using a dedicated style sheet. Finally, trees and inheritance can be more easily communicated and understood.
Disadvantages of XML - XML has no system for application processing so XML documents must be converted, to HTML for example. The flexibility it provides can also be a disadvantage as there can be disagreement among tags or objects and this could add constraints that make it difficult to construct the file. A related issue could arise if an organziation has hundreds of functions for one set of documents taht needs to be described with tags. Too many tags for a single document structure could interfere with XML's ability to process the information. Finally, the functionality of XML depends on who is writing it and because XML standards are not yet fully compliant this could cause incompatibility across systems.