Extensible Markup Language (XML) is a human-readable format for describing data that is highly flexible (extensible).
XML is platform independent. Java and C classes can be and have been written to translate the data in XML as described.
Extensible Stylesheet Language (XSL) is a human-readable language specifically designed for formatting XML data. XSL Transformations (XSLT) is used to transform XML data into another, more user friendly format, such as a web page or spreadsheet. XSL Formatting Objects (XSL-FO) is used to layout XML data like XSLT, but is geared toward formats like PDF.
Mostly XML is used to port information from one format to another. Either moving data from one database to another, or translating database data into a webpage or PDF.