ファイヤープロジェクト
XULって何だ?
2005-02-08T01:00+09:00   matsu
XULとはどんなものなのかを調査してみた.
XULはXML User interface Languageの略らしい.Mozilla上ならOSを問わず動作し,HTMLページの表示よりもより高機能なUser interfaceを作成できる言語らしい.例えばMozilla上で動作するメーラやHTMLエディタを作成することができるらしい. XULはその名の通りXMLであり,XSLT,XPath,DOMの機能が使用可能らしい. XULアプリケーション(XULで記述されたアプリケーション)の構成物としてはだいたい以下があげられるだろうか.
  • XULファイル.
  • cssファイル.
  • js(JavaScript)ファイル.
  • rdfファイル.
  • その他画像ファイルなど.
XULではビルトインwidgets(ボタンとかタブとかそういうの?)を使用することができるし,Extensible Bindings Language (XBL)を使用して独自widgetsを作成し,それを使用することもできる.以上のような雰囲気から,何となく単なるHTMLよりも高機能なUser interfaceが実現できそうな気がして来る.
簡単なXULファイルを作成してみた.
上記を何とか.xulとかいうファイルに記述してMozillaで開くと,"HELLO XUL"と表示される.非常につまらないサンプルだが,XULはこのようなマークアップ言語であり,最も単純には単にMozillaから開くだけで動作させることができる.上記サンプルの構成は,まずXML宣言があって,次にスタイルシート指定があって,その後にXUL Planet等に記述されているリファレンスにあるようなタグを使用した内容部分である.
サンプルの記述内容について,一行ずつ解説してみる.
<?xml version="1.0"?>
XML宣言.とにかくこう書いとく.
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
スタイルシートの指定.いろいろ指定すると,高度なことができそうだが,入門時はとにかくこう書いとく.
<window
要素windowのタグ.XUL実行環境でビルトインされているタグの一つ.ウィンドウを示す.
id="sample-window"
要素windowの属性id.スクリプト等でwidgetを一意に指定するための識別子.普通すべての要素に属性idがある.
title="HELLO XUL"
要素windowの属性title.値がウィンドウのタイトルバーに現われるらしい...私の環境では現われないが...
orient="horizontal"
要素windowの属性orient.値はhorizontalかvertical.デフォルト(指定しない場合)はvertical.該当ウィンドウ内で内容物を縦に並べるか,横に並べるかを指定する.
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
名前空間の指定.この要素windowの子要素は統べて名前空間にあることを示す.このULRのファイルがダウンロードされるわけではない(Mozillaで開こうとすると,何かでるが...).
<label
要素label.本来control elementと呼ばれる要素に張り付けるラベル.ここでは単に文字列を表示させるために使用した.詳細は後程.
</window>
要素wihdowの閉じタグ.
matsu(C)
Since 2002
Mail to matsu