スクリプトでは、エンティティーを使うことができません。その代わりに、プロパティーファイルを使います。
DTD ファイルは、XUL ファイル中にテキストがある場合に適したものです。しかし、スクリプトでは、エンティティーのパースはされません。更に、スクリプトが生成するメッセージを表示したい場合があるかもしれません。例えば、表示すべき正確なテキストが分からない場合があります。この目的のため、プロパティーファイルを使うことができます。
プロパティーファイルは、文字列のセットからなります。.properties という拡張子をもつプロパティーファイルが、DTD ファイルとともにあるのが分かるかもしれません。ファイル内のプロパティーは、名前 = 値というシンタックスを使って宣言します。例を以下に示します。
notFoundAlert=No files were found matching the criteria. deleteAlert=Click OK to have all your files deleted. |
このプロパティーファイルには、2 つのプロパティーがあります。これは、スクリプトが読み取り、ユーザーに表示されます。プロパティーを読むためのコードを自分で書くこともできますが、XUL には、これを行なってくれる stringbundle 要素があります。この要素には多くの関数があり、これを使えば、プロパティーファイルの文字列や他のロケール情報が取得できます。この要素はプロパティーファイルの内容を読み、プロパティーのリストを作ってくれます。次に、名前から特定のプロパティーを探すことができます。
<stringbundle id="strings" src="strings.properties"/> |
この要素をインクルードすると、XUL ファイルと同じディレクトリーにある 'strings.properties' ファイルからプロパティーを読み込みます。ロケールディレクトリーからファイルを読むには、クロム URL を使います。
この stringbundle 要素には、多くのプロパティーがあります。最初は、getString です。これは、バンドルから文字列を読むために、スクリプト内で使うことができます。
var strbundle=document.getElementById("strings");
var nofilesfound=strbundle.getString("notFoundAlert");
alert(nofilesfound);
|
この例は、まず、id を使ってバンドルへの参照を取得します。次いで、プロパティーファイル内で、'notFoundAlert' という文字列を探します。関数 getString は、文字列の値を返しますが、文字列がなかった場合は null を返します。最後に、アラートボックスで文字列を表示します。
(進む) 次のセクションでは、XBL を見ることにします。これは、要素の振る舞いを定義するのに使用できます。