UIML ( U ser I nterface M arkup L anguage ; German: User interfaces - Markup language ) is a markup language based on XML that is used to design platform-independent user interfaces. By introducing a general description syntax, the modeler should be given the opportunity to define the structure and style of a user interface. Only by subsequent, automatic transformation of this model of the user interface is the concrete user interface generated, which is described in any (if there is a suitable mapping stylesheet) programming language. At the moment, concrete user interfaces u. a. HTML, VoiceXML and Java Swing supported. XML is usually used to store documents and data, but thanks to its general definition it can also be used for other applications.