The following is a list of user interface markup languages.
By vendor or platform
Flash
MXML
OpenLaszlo
Java
Thinlet
ZUML Ajax web application UI generator
FXML/JavaFX
See also Open Source XML UI Toolkits in Java
Microsoft
XAML
XPS
Mozilla
XUL
W3C
XHTML
XFDL
XForms
Others
Curl - also a programming language
GladeXML
UIML
EMML
VTML
XRC - XML Based Resource System is used by wxWidgets
GNUstep Renaissance
QML
Descriptions
EMML
EMML is a declarative Mashup Domain Specific Language (DSL) aimed at creating enterprise mashups. The EMML language provides a rich set of high-level mashup-domain vocabulary to consume and mash variety of Web data-sources in interesting ways. EMML provides a uniform syntax to invoke heterogeneous service styles: REST, WSDL, RSS/ATOM, RDBMS, and POJO. EMML also provides ability to mix and match diverse data-formats : XML, JSON, JDBC, JavaObjects, and primitive types.
OpenLaszlo (LZX) OpenLaszlo is a runtime environment that comprises a runtime environment and an interface definition language (Laszlo XML - LZX). LZX is a declarative user interface language which defines the widgets, application layout and scripting elements (using JavaScript) to create your application. LZX is runtime agnostic with the currently supported runtime being within Macromedia/Adobe Flash. An experimental runtime called Laszlo "Legals" that will allow OpenLaszlo (LZX) applications run in multiple runtime environments, such as DHTML/AJAX.
SVG
Scalable Vector Graphics is a markup language for graphics proposed by the W3C that can support rich graphics for web and mobile applications. While SVG is not a user interface language, it includes support for vector/raster graphics, animation, interaction with the DOM and CSS, embedded media, events and scriptability. When these features are used in combination, rich user interfaces are possible.
SVG can also be super-imposed upon another XML-compatible user interface markup language, such as XUL and XForms, as the graphics-rich portion of a user interface.
UIML
UIML is the earliest pioneer in user interface markup languages. It is an open standard where implementation is not restricted to a single vendor. However, it doesn't attract much attention.
WasabiXML
WasabiXML is an XML markup language that is used to define the graphical interface in Wasabi powered applications. It is most commonly used with Winamp for making Winamp skins. WasabiXML had been developed by Nullsoft for Winamp, but it is also usable with other applications with the Wasabi SDK.
The root element in WasabiXML is <WasabiXML> (for Winamp skins, it is also <WinampAbstractionLayer>). The <skininfo> element shows the information for a skin. The graphical interface is held by the <container> element and the basic viewable GUI element is <layout>. Following is an example for a simple GUI with a button element:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<WinampAbstractionLayer version="1.2">
<skininfo>
<version>1</version>
<name>mySkin</name>
<comment>Ooo Lala</comment>
<author>Some Person</author>
<email>[email protected]</email>
<homepage>http://www.example.org</homepage>
</skininfo>
<include file="xml/color-sys.xml"/> <!-- Include a file -->
<container id="normal">
<layout id="normal" desktopalpha="true">
<button
x="0" y="0" id="button.normal" image="mybutton.image" hoverimage="mybutton.himage" downimage="mybutton.dimage" /> </layout> </container> </WinampAbstractionLayer>
WasabiXML supports many GUI elements including:
<button>
<text>
<vis>
<eqvis>
<layer>
<animatedlayer>
<groupdef> used in conjunction with <group>
<groupdef> allows the developer to define a group of GUI objects which can be re-used anywhere in the skin. Wasabi also supports XUI's which are nothing but <groups> powered by a MAKI script allowing developers to create GUI components (widgets) of their own adding to modularity.
WasabiXML has an XML namespace 'Wasabi::' which defines common GUI's without having the need to declare their image paths.