XUL

出典: フリー百科事典『ウィキペディア(Wikipedia)』
XUL
拡張子.xul
MIMEタイプapplication/vnd.mozilla.xul+xml
開発者Mozilla Foundation
派生元XML
ウェブサイトdeveloper.mozilla.org/en-US/docs/Archive/Mozilla/XUL

XUL(ズール、XML User Interface Language)はMozilla FirefoxMozilla ThunderbirdなどのMozillaアプリケーションを作成するためのユーザインタフェースマークアップ言語である。UIMLのようなXMLアプリケーションの一つであり、ユーザインタフェースを記述するための言語である。

XUL自体は標準とはなっていないが、CSSJavaScriptDOMDTDRDF等の既存の標準技術を多く利用しているため、すでにこれらの技術に親しんでいるプログラマデザイナにとっては比較的習得しやすい言語となっている。

概要[編集]

XULによるインタフェースは3つの別個に独立したコンポーネントのグループによって記述される。

Content(コンテント)
ユーザインタフェースのレイアウトを規定するXUL本文。
Skin(スキン
アプリケーションの視覚的な表現を行うためのCSSや画像。
Locale(ロケール
ソフトウェアのローカライズを容易にするための実体テキストを記述するDTD

XULの持つ最も大きな利点は単純でポータブルなウィジェットの記述が可能であることである。これは第四世代言語 (4GL) がソフトウェア開発の場で果たしたのとよく似た労力の削減に繋がっている。

XULのエレメント(要素)[編集]

XULの仕様はたくさんの種類の要素を規定している。これらは大まかに以下のように分類できる。

トップレベル要素
ウィンドウページダイアログウィザードなど
ウィジェット
ラベル、ボタンテキストボックス、リストボックス(コンボボックス)、ラジオボタンチェックボックス、ツリー、メニューツールバー、グループボックス、タブ、カラーピッカー、スペーサー、スプリッターなど
ボックスモデル
ボックス、グリッド、スタック、デッキなど
イベントとスクリプト
スクリプト、コマンド、キーボード、ブロードキャスター、オブザーバなど
データソース
テンプレート、ルールなど
その他
オーバーレイ(クライアントサイドで行われるServer Side Includes)、インラインフレーム、ブラウザエディタなど

XULの記述の中にXHTMLMathMLのような別のXMLアプリケーションによる要素を含めることも可能となっている。

一般的なウィジェットの中でもたとえばスピンボックス、スライダー、キャンバスなどは現在のXULの仕様では使用できないがこれらはXUL 2.0での検討課題に含められている[1]

使い方[編集]

XULは主にMozillaFirefox本体やこれらの拡張のために使われているが、HTTPで転送されるウェブアプリケーションに使うこともできる。例えば、XULアプリケーションとしてMozilla Amazon Browserという、Amazon.comで本を探すためのリッチクライアントソフトにも使われている。しかしながら、Mozillaの強力な特徴であるXPCOMオブジェクトを使う権限は、セキュリティの観点から、リモートのXULドキュメントには与えられない(署名がされていない限り権限が与えられない)。また他の制限もあり、例えば他ドメインの外部のXULやDTDRDFドキュメントを読み込むことができない。

映画との関連[編集]

THERE IS NO DATA.
THERE IS ONLY XUL.

XULという名前は映画『ゴーストバスターズ』に由来する。映画にて古代シュメール人の女神ズール (Zuul) の亡霊は、シガニー・ウィーバー演ずるデーナ・バレット (Dana Barrett) に憑依し、「There is no Dana, only Zuul(デーナはいない。ズールしかいない)」と宣言している。XULでは、本来文書やデータの構造などを記述するための言語であるマークアップ言語(を創るための仕様であるXML)をインタフェースを定義するために利用していることから、XULの開発者は映画のセリフをもじって「There is no data, only XUL(データはない。XULしかない)」というスローガンを掲げている。そしてこれはXULアプリケーションでXML名前空間の宣言記述に用いられるURIhttps://www.mozilla.org/keymaster/gatekeeper/there.is.only.xulに記述された文章でもある。XULが使用可能なアプリケーションでこのアドレスを開くと、(図のように)このスローガンが画面中央に大きな文字で表示されるようになっている。

"keymaster" や "gatekeeper" も同作品のシナリオに由来する。『ゴーストバスターズ』からのもじりはMozillaの他のプロダクトでも見られ、例えばJavaScriptにはVenkmanというデバッガコンポーネントがあるが、これは同作品の主人公の1人、ピーター・ヴェンクマン博士に由来する。

関連項目[編集]

外部リンク[編集]

  • Mozilla XUL - Mozilla.orgのXUL公式ホームページ(英文)
  • Xul Runner - An attempt to run XUL applications in a light-weight container.
  • XUL Wiki - XULアプリケーションや拡張機能開発関係に関する日本語の情報
  • Xul and Xul Dev project