XUL

From Wikipedia, the free encyclopedia

XML User Interface Language (XUL)
File extension: .xul
MIME type: application/vnd.mozilla.xul+xml
Developed by: Mozilla Foundation
Type of format: markup language

XUL (pronounced zool ([zu:l])), the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project.

Other user interface markup languages are MXML, Laszlo XML, UIML, and XAML.

XUL developer documentation is available [1], but it has no formal specification or non-Gecko implementations and therefore may be described as an internal or proprietary language. XUL relies on multiple existing web standards and technologies, including CSS, JavaScript, and DOM, which makes it relatively easy to learn for people with a background in web programming and design.

The main benefit of XUL is that it provides a simple and portable definition of common widgets. This reduces the software development effort in a way analogous to the savings offered by 4GL tools. For more information, refer to the Joy of XUL article on developer.mozilla.org.

Contents

A XUL interface is typically defined to consist of three discrete sets of components:

  • Content: The XUL document(s), whose elements define the layout of the user interface.
  • Skin: The CSS and image files, which define the appearance of an application.
  • Locale: The files containing user-visible strings for easy software localization.

XUL defines a wide range of elements, which roughly belong to the following types:

Top-level elements
e.g. window, page, dialog, wizard, etc.
Widgets 
e.g. label, button, text box, list box, combo box, radio button, check box, tree, menu, toolbar, group box, tab box, color picker, spacer, splitter, etc.
Box model
e.g. box, grid, stack, deck, etc.
Events and Scripts
e.g. script, command, key, broadcaster, observer, etc.
Data source
e.g. template, rule, etc.
Others
e.g. overlay (analogous to SSI, but client side and more powerful), iframe, browser, editor, etc.

It is possible to use elements from other applications of XML within XUL documents, such as XHTML, SVG, and MathML.

Some common widgets - (sometimes called slider), (spinbox), time and date pickers - have been added during Gecko 1.9 development cycle [1].

While XUL is mostly used for creating the Mozilla applications and their extensions, it is possible to use it for Web applications transferred over HTTP. One of the most well-known XUL applications of this type is the Mozilla Amazon Browser, which provides a rich interface for searching books at Amazon.com.

However, many of the powerful features of Mozilla, like privileged XPCOM objects, are not available to unprivileged XUL documents (unless the script is digitally signed and user granted certain privileges to the application), and such documents also suffer from various limitations of the browser, such as the inability to load remote XUL, DTD, and RDF documents.

Since the only full implementation of XUL is Gecko, such application are inaccessible to users of browsers, other than Mozilla-based.

For a simple example see Hello World! in XUL.

THERE IS NO DATA.
THERE IS ONLY XUL.

The XUL name is a reference to the film Ghostbusters, in which the ghost of an ancient Sumerian deity called Zuul possesses the character Dana Barrett (played by Sigourney Weaver) and declares "There is no Dana, there is only Zuul". Since XUL is unusual in using XML to define an interface, rather than a document, its developers adopted the slogan "There is no data, there is only XUL". This is referred to by the XML namespace URI at the beginning of every XUL document, http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul; when viewed with a XUL-capable application, the document pointed to displays the slogan in large letters in the center of the screen (similar to that to the right).

"Keymaster" and "gatekeeper" are also references to the same plotline. This is not the only reference to Ghostbusters within Mozilla - for instance, the JavaScript debugger component is called Venkman, after one of the main characters in the film.

  1. ^ Firefox 3 for developers
Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.