連載 役に立つXMLツール集(8)
XULとJSFでリッチクライアント 〜XUL編〜 Page 2

www.netpotlet.com
原田洋子
2004/6/16

XULを表示するための準備

 XULファイルを表示するために何かをインストールする必要はありませんが、サーバ上にあるXULファイルを表示させるためにはセットアップが必要です。

MIMEタイプの設定

 XULファイルには拡張子.xulを付けますが、この拡張子に対応するMIMEタイプは通常、Webサーバに登録されていません。サーバがXULコンテンツを提供できるようにするには.xulのタイプ「application/vnd.mozilla.xul+xml」を追加します。本記事ではTomcat 5.0.24を使っているので、「jakarta-tomcat-5.0.24/conf/web.xml」にリスト1の要素を追加します。

    <mime-mapping>
        <!-- XUL Script Source -->
        <extension>xul</extension>
        <mime-type>application/vnd.mozilla.xul+xml</mime-type>
    </mime-mapping>
リスト1 MIMEタイプの追加

Webアプリケーションの準備

 今回はサーバサイドJavaアプリケーションとして動かすので、サーブレットの仕様で決められているWebアプリケーションという名前のディレクトリ構成を作っておかなければなりません。例えばEclipseのTomcatプラグインを使う場合、「Tomcatプラグイン」で説明されているようにインストール、セットアップを行い、Tomcatプロジェクトを作ると、Webアプリケーションが出来上がります。サーブレットの仕様では“Webアプリケーション”ですが、Eclipseでは“プロジェクト”と呼ばれます。ツールを使わずにWebアプリケーションを作る場合は「jakarta-tomcat-5.0.24/webapps」以下に仕様で決められているディレクトリやファイルを作ります。

 今回は図1に示す構成のWebアプリケーションを用意します。このWebアプリケーションにはcoveという名前を付けました。従って、Tomcatプロジェクトの名前がcove、あるいはwebapps以下にcoveディレクトリを作り、以下に各ディレクトリ、ファイルを作ります。「+」や「-」の記号が付いているのはディレクトリ、記号がないのはファイルです。

図1 cove Webアプリケーションの構成


XULの書き方

 XULファイルの書きだしはリスト2のようになります。1行目は説明の必要はないでしょう。2行目はMozillaのデフォルトのスタイルを指定している行です。そして4行目のwindow要素ですが、これがXULのルート要素です ※注2。ルート要素では6行目にあるとおり、

 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"

のように名前空間を指定します。XULの各要素はルート要素windowで囲まれた中に書いていきます。

※注2
XULのルート要素
通常、XULのルート要素はwindowです。ただし、HTMLの<FRAMESET>、<FRAME>、<IFRAME>タグと同様の機能を持つiframe要素から参照されるXULファイルでは、pageをルート要素にすることがあります。ほかにも、ダイアログのためのdialog要素やウィザード表示のためのwizard要素などもルートになります。

XULプログラミングには

  • 構造を定義するのはXUL要素
  • スタイルはCSS
  • 振る舞い(ボタンをクリックしたときの動作など)はJavaScript
  • 多国語表示はエンティティの参照
  • 詳細制御と付加情報はRDF(Resource Description Framework)

というルールがあります。XULで何をどうすればいいのか困ったときは、このルールを思い出してください。

 また、XULはXMLですからXML文書に採用されているテクニックは、ほぼXULファイルにも使えます。例えば、リスト3のようにXHTMLの名前空間も宣言すると、XULとXHTMLが混在する記述も可能です。もちろん、双方のタグともレンダリングされます(図2)。このように、XULファイルではXULの要素ばかりではなく、XUL以外のマークアップ言語も書く方法があります。

リスト2 XULの書きだし(別ウィンドウで表示します)

リスト3 XULとXHTMLが混在する文書(別ウィンドウで表示します)

図2 XULとXHTMLの混在

 次ページでは、XULを表示させるための準備を行い、基本的なXULの記述方法を解説します。(次ページへ続く)

Page 1 2/3 Page 3

 Index
連載 役に立つXMLツール集(8)
XULとJSFでリッチクライアント 〜XUL編〜
  リッチクライアントって何?
XULを使いこなす情報源
XULを表示するための準備
XULの書き方
  XULのサンプル
まとめ&サンプルダウンロード


「連載 役に立つXMLツール集」


XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日月間