List of user interface markup languages
The following is a list of user interface markup languages categorized
By vendor or platform
- CookSwing 
- SwiXML 
- SwingML 
- SwixNG 
- JFCML 
- Thinlet 
- Vexi  Web application user interface platform
- XSWT  An XML-based GUI-description language for SWT
- JAXX 
- ZUML Ajax web application UI generator
- Javabuilders  Generic declarative UI based around the YAML format for Swing. SWT support planned.
- JEasy 
- eFace  XAML/WPF for Java
See also Open Source XML UI Toolkits in Java
- Curl - also a programming language
- XML Sapiens 
- Boxely (Website)
- XRC - XML Based Resource System is used by wxWidgets
- GNUstep Renaissance
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.
Hierarchical Model View Controller User Interface Language (HMVCUL) is an XML markup user interface language which supports the creation and chaining of atomic MVC triad components used in constructing HMVC GUI applications. The associated runtime provides methods which enable configuration of properties, data binding and events of each of the MVC triad elements (widget, controller, model). The runtime accomplishes this by mapping XML elements defined in an HMVCUL file to objects inside the framework, attributes to properties or to events. Chaining is accomplished by following the tree structure described inside the HMVCUL file.
I3ML is a proprietary thin client Application Delivery mechanism developed by CoKinetic Systems Corp, with client support provided by a browser plugin that will render windows-like applications over an HTTP infrastructure with minimal bandwidth needs.
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.
Thinlet is a LGPL licensed lightweight GUI toolkit that comes as a single Java class, based entirely on the AWT. It handles user interaction, and calls business logic. The graphic presentation that is described in an XML file is kept separate from the application methods written in Java.
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
<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>firstname.lastname@example.org</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:
<groupdef>used in conjunction with
<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.
Some people are critical of this design, as many standards (such as those already listed) exist for doing these things. However, it is expected to be developed with a visual tool where developers do not even need to understand the underlying markups.
Other markup languages incorporated into existing frameworks are:
Some of these are compiled into binary forms.