
このセクションでは、XUL 文書とその他のクロムファイルの参照方法を説明します。
XUL ファイルは、HTML ファイル (あるいは、あらゆる種類の URL) の場合と同様に、通常の HTTP URL を使って参照することができます。しかし、Mozilla のクロムシステムにインストールされたパッケージは、特殊なクロム URL を使って参照できます。クロムディレクトリー内のファイルは、既にインストールされているはずですが、自分自身のファイルを登録することもできます。
インストールされたパッケージには、セキュリティーの制限が課せられないという利点があります。これは、多くのアプリケーションにとって必要なことです。クロム URL には、URL 型に対する利点があります。というのも、それは、自動的に、多数のスキンとロケールを取り扱うことができるからです。
クロム URL の基本的なシンタックスは、次のようなものです。
chrome://<component>/content/<file.xul>
ここで、<component> は、メッセンジャーやエディターなどのコンポーネントの名前です。
例: chrome://messenger/content/messenger.xul
この例は、メッセンジャーウィンドウを参照しています。'content' を 'skin' で置き換え、ファイル名を変更すれば、スキンの一部であるファイルを指すことができるでしょう。同様に、'content' の代りに 'locale' を使うことによって、ロケールの一部であるファイルを指すことができます。
クロム URL は、ファイル URL (つまり、file://URL) の特殊な型と考えることができるでしょうが、ここでは、ルートディレクトリーは Mozilla クロムディレクトリーです。しかし、追加機能が一つあります。クロム URL のスキンとロケール部は、クロム URL を現在の設定にマップします。ユーザーがデフォルトのスキンを変更しても、クロム URL は変化せず、変化するのは、それが指しているものです。
Mozilla は、どれが現在のスキンと言語であるのかを見つけ出すことができ、適切なディレクトリーをクロム URL にマップできます。クロムディレクトリー内のこうした RDF ファイルと contents.rdf ファイルは、Mozilla にこれを行なう方法を指示するためにあります。こうして、ユーザーは、どんなスキンや言語でも使うことができ、それでいて、クロムファイルを参照する URL は変更する必要がないのです。例えば、デフォルトの navigator.css は、次のようにして、参照することができます。
chrome://navigator/skin/navigator.css
ブラウザーのスキンを他の別の場所にあるものに変更しても、クロム URL は変化しません。たとえその実際の場所が変化したとしても、そうです。
クロムシステムは、内容のナビゲーター部、現在のスキンのナビゲーターセクション、現在のロケールのナビゲーターセクションを受け取り、ユーザーインターフェースを作るために、それらをグループ化します。次は、その例です。今回は、メッセンジャーのためのものです。
chrome://messenger/content/messenger.xul
chrome://messenger/content/mime.js
chrome://messenger/skin/images/reply.jpg
chrome://messenger/locale/messenger.dtd
サブパッケージも、同じ構造を使うことができます。次の URL は、ブックマークウィンドウを参照します。
chrome://communicator/content/bookmarks/bookmarks.xul
通常の URL が使える場所ならどこでも、クロム URL を入力することができます。それは、Mozilla ブラウザーウィンドウ内の URL バーに直接入力することさえできます。
通常のファイル URL で、XUL ファイルも参照できることも思い出して下さい。パッケージをインストールする必要なく、ファイルをテストするために、これを行なうことができるでしょう。
次のように、ファイル名を指定することなく、クロム URL を見ることもできます。
chrome://global/skin/
この種のリファレンスは、自動的に、そのディレクトリーから適切なファイルを選択します。スキンの場合、パッケージの名前と css 拡張子をもつファイルが選択されます。上の例では、ファイル global.css が選択されます。
内容ファイルの場合、ファイル package.xul が選択され、ロケールファイルの場合、ファイル package.dtd が選択されます。ここで、パッケージとは、パッケージの名前です。これは、便利で簡略なシンタックスです。
(進む) 次のセクションでは、マニフェストファイルの作り方とパッケージのインストールを見ることにしましょう。