Menue
SRD

DialogML

project info
documentation

SEML

Mailinglists

DialogML specification and documentation
The introductory sections of the official specification are available for reading online. The complete specification is only available for downloading. The documented version is 0.96pre1. The introduction below is taken from the unfinished version 0.96pre2

The electronic version of the DialogML specification is distributed under the terms of the GNU Free Document License 1.1. All rights reserved by Dennis Heuer.

Table of Content
Introduction
The right approach
The different types of elements

Introduction
DialogML is a XML 1.0 markup language for the simple, flexible and efficient development of setup-alike applications. It provides a small but rich selection of elements for the definition of interactive interfaces and event-driven command calls.

The most important advantages of DialogML are:

DialogML separates provider-space and user-space. The provider doesn't need to develop a user interface for his setup rules because every DialogML-capable application is prepared to interpret every well-formed DialogML document. That implies that the user is free to decide for whatever DialogML-capable interpreter he is most friend with.

DialogML isn't restricted to a specific platform or type of software. The interpreter could be a shell robot, a file manager, an internet browser, a package manager, an installation suite, a database administration tool, a security shield and so forth.

For example, DialogML could be used to manipulate the system registry or to configure the desktop. It could be used to manage the playlist of a broadcast server or to update the boot process of the operating system. There is really no clear restriction of what DialogML could be used for--as long as it is a setup-alike procedure.

DialogML supports defining separate sections for different (types of) interpreters. The same document may provide a section for a commandline interface as well as for a graphical user interface. Providers can develop an own interpreter if proper software is not available.

The implemented help system allows providing different levels of information for the novice user as well as for the expert user. »Tooltips«--the automated popup messages that appear if the mouse cursor is over an element--are also supported.

A DialogML document can include other DialogML documents at runtime and implement the new elements as if they were part of the including document itself.

DialogML provides event-driven editing capabilities. At runtime, a user can upload or create a new document, manipulate it and store it in whatever resource was specified. Technically, DialogML gives control over the XML DOM-tree of a DialogML document.

In the case of free software, users can support developers with DialogML documents. In any other case, users can check and extend the documents and send them in for approval.

DialogML supports Unicode 4.0 and internationalization. All text information including help messages and tooltips can provide translations. Besides the support for bidirectional writing the developer can provide adjusted sets of dialogs for left-to-right and right-to-left writing.

Learning DialogML takes a day, writing a fairly complex script shouldn't take longer.