XML is a markup language used to carry data, not display it. It allows users to define their own tags for structuring data. XML separates data from presentation, allowing data to be stored and transported independently of formatting and style. This makes XML well suited for transporting data between incompatible systems.