Tagline goes here.

Current versions:

Schema definitions:
   0.9
SWT/Java:
   0.9 [download]
Windows Forms/.NET:
   0.9 [download]
wxWidgets/Python:
   0.9 [download]
 
Demo applications:
   0.9 [download]

Valid XHTML 1.0 Strict

Overview

YAXGL is a both an XML-file specification and a set of libraries implementing support for the format. YAXGL can be used to create graphical user interfaces (GUI) by writing XML files and then letting the libraries create the actual GUI at runtime for you. The advantages of this approach to creating a GUI over the classic approach of defining the GUI directly in the programming language are:

And if you're using language or platform dependent GUI files (like the resource files used in the Windows API):

YAXGL stands for "Yet Another XML GUI language" and is an innuendo to the multitude of XML GUI languages being released recently, most of which are neither usable in real life applications nor bring any new functionality to the field. YAXGL is no exception in this respect.

Concept

YAXGL libraries are wrappers on top of existing GUI frameworks. The following frameworks are currently supported:

The libraries allow to create windows from YAXGL files and then access and manipulate their properties and their controls' properties. To provide static checking, YAXGL files can be validated against their XML Schema.

YAXGL implements a subset of the features of these frameworks. More specifically, it provides the basic aspects of the most common controls. To allow extended functionality, it provides access to the native windows and controls.

Functions in the application-specific code can be made event handlers for one or more controls and event types by marking the function with specific metadata in the code (Java Annotations / .NET Attributes / Python function decorators).

All libraries are supposed to be as similar as possible, varying only in the syntax of the language itself. All class names, methods and the general usage concepts are the same among all YAXGL libraries.

Project history and state

YAXGL has been created as a project for an XML class at the HTWG Konstanz in the summer term 2007.

Development has been suspended. It's partially incomplete, for example not all controls are supported by the Python/wxWidgets version. The project might be picked up again, or it might not. The sources are available on request.

Downloads

Documents

Development

Developers

Florian Roth e-mail
Stefanos Papadopoulos
Henrik Heimbuerger e-mail website