XUL

（ ）是英文「」（XML用户界面语言）的首字母縮寫。它是為支持系列的應用程式（如Mozilla Firefox和Mozilla Thunderbird）而開發的使用者界面標示語言。顧名思義，它是一種應用XML來描述使用者界面的標示語言。XUL被实现为一种XML的方言。它允许以类似写网页的方式编写图形用户界面。

 設計 
XUL是一个开放標準，它重用了許多現有的標準和技術，包括CSS、JavaScript、DTD和RDF等。所以對於有網絡編程和設計經驗的人士來說，學習XUL比學習其他使用者界面標示語言相對簡單。

使用XUL的主要好處在於它提供了一套簡易和跨平台的Widget定義。這節省了編程人員在開發軟件時所付出的努力。

 XUL文件 
一個XUL界面一般包含以下三個部份：
 內容：定義使用者界面的XUL檔
 Skin：定義程式外觀的CSS和圖像檔
 Locale：定義界面字串的DTD檔（為了軟件本地化）

 XUL元素 
XUL定義了一套豐富的元素。它們大致上可分為以下幾種：
 基層元素 例如視窗、page、對話框、精靈
 Widget 例如標籤、按鈕、文字方塊、條列式選單、組合方塊、選擇鈕、核取方塊、樹、選單、工具列、分组框、标签页、色彩選擇器、spacer、splitter
 排版 例如方框、網格、堆疊、疊
 事件和腳本 例如腳本、命令、key、broadcaster、observer
 資料來源 例如template、rule
 其他 例如overlay（類似SSI，但在客戶端運作，而且更為強大）、iframe、浏览器、编辑器

一個XUL文件中也可以包含其他XML命名空間的元素，例如XHTML、SVG和MathML。

現時的XUL還未在提供一些普遍的widget，例如spinbox、slider和canvas。XUL 2.0計劃 中將會包括這些缺乏的控件。

 XUL應用 
雖然XUL的設計原意是為了創作Mozilla程式及其擴充套件，但事實上人們也能利用它來編寫基於HTTP的網絡應用程式。基本安全性的原則，很多需要特權的XPCOM物件在無特權的XUL文件上都不能使用。唯有使用數碼簽署的腳本才享有此種特權。就算如此，這些文件亦受網頁瀏覽器的限制，例如不能載入遠端的XUL、DTD和RDF文件。

 電影致敬 
XUL讀作「zool」有向電影捉鬼敢死隊致敬之意。在捉鬼敢死隊中，有一名為「Zuul」的古代蘇美爾女神在支配住Dana Barrett的情況下說道：「There is no Dana, only Zuul」 。在開發XUL之前，XML通常都是用於記錄資料性文件，而非定義使用者界面。因此設計XUL的編程員們便想到以「There is no data, only XUL」作為標語。而「Keymaster」和「Gatekeeper」都是來自該個情節。另外，Mozilla的JavaScript除錯器——Venkman也是捉鬼敢死隊的其中一個角色。這可以見於XUL的XML命名空間。而在可以顯示XUL的應用程式上，利用該網頁就可以瀏覽到一個置中的、以大字型顯示的標語。

 參見 

 可扩展用户界面协议（XUP）
 用户界面标记语言

 Mozilla应用程序框架
 XBL
 XULRunner
 ZK

 参考文献 

 外部链接 
Mozilla XUL 
XULPlanet 
XUL Periodic Table 
XUL Weblog
Mobile Amazon Browser
Xul and Xml-related formats 

Category:基於XML的標準
Category:Mozilla