以下は、リソースファイルの記述例です。
<?xml version="1.0" encoding="Shift_JIS"?> <ujiResource xmlns=http://interstage.fujitsu.com/schemas/uji/ujiResource xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://interstage.fujitsu.com/schemas/uji/ujiResource http://interstage.fujitsu.com/schemas/uji/ujiresource.xsd"> <config> <version>5.1</version> </config> <text id="target">XXビル会議室</text> <text id="RESVOK">{0}件予約しました。</text> <text id="RESVPT">{0}件中{1}件を予約しました。内容を確認してください。</text> <array id="prior"> <elem>192.168.96</elem> <elem>192.168.97</elem> </array> <map id="rooms"> <elem key="room101">101会議室</elem> <elem key="room102">102会議室</elem> </map> </ujiResource>
リソースファイルには以下のデータを定義します。
単一文字列
文字列配列
キー付き文字列配列
キー付き文字列配列は配列の要素それぞれにキーを付けたデータです。コンボボックスに選択肢を設定する場合などに使用します。
リソースファイルの記述形式
リソースファイルの記述形式は以下のとおりです。
<?xml version="1.0" encoding="Shift_JIS"?> <ujiResource xmlns=http://interstage.fujitsu.com/schemas/uji/ujiResource xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://interstage.fujitsu.com/schemas/uji/ujiResource http://interstage.fujitsu.com/schemas/uji/ujiresource.xsd"> <config> <version>5.1</version> </config> <!-- ここに文字列を定義するタグ (text, array, mapタグ) を任意の順番で記述します。--> </ujiResource>
versionタグのコンテントにはリソースファイルの文法バージョンを記述します。指定可能なバージョンは5.1です。
文字列は以下のタグで定義します。いずれの場合もタグのidアトリビュートでIDを指定します。IDは、JavaプログラムやUJIタグで文字列を参照する際に使用します。IDはリソースファイルの中で一意になるようにしてください。
textタグ
単一文字列を定義します。textタグのコンテントに文字列を記述します。
<text id="target">XXビル会議室</text>
arrayタグ
文字列配列を定義します。arrayタグのコンテントには、elemタグを記述し、elemタグのコンテントに配列の要素となる文字列を記述します。
<array id="priorIPs"> <elem>192.168.96</elem> <elem>192.168.97</elem> </array>
mapタグ
キー付き文字列配列を定義します。mapタグのコンテントには、elemタグを記述し、elemタグのコンテントに配列の要素となる文字列を記述します。 elemタグのkeyアトリビュートにキーを記述します。
<map id="rooms"> <elem key="room101">101会議室</elem> <elem key="room102">102会議室</elem> </map>
定義する文字列に<, >, ", & を含めたい場合は、それぞれ <, >, ", & に置き換えて記述してください。例えば、単一文字列「R&Dセンタ」を定義する場合は、以下のように記述します。
<text id="office12">R&Dセンタ</text>
リソースファイルの名前と分割方法
リソースファイル名は、デフォルトでは ujiresource.xml です。これは、初期化パラメタuji.resourceで変更できます。初期化パラメタについては、“13.2 初期化パラメタ”を参照してください。
また、複数作成されたリソースファイルを初期化パラメタで指定した名前のフォルダに配置することにより、1つのリソースファイルのように扱うことが可能です。この機能により各リソースファイルの結合の手間を省くことができます。
リソースファイルのファイル名として指定されたファイルの種類により、以下のように扱います。
初期化パラメタuji.resourceの指定 | 使用するリソースファイル名 | 使用するリソースファイルの種類 | リソースファイルの扱い |
---|---|---|---|
なし | ujiresource.xml | ファイル | ujiresource.xmlファイルをリソースファイルとして扱います。 |
フォルダ | ujiresource.xmlフォルダの下に置かれたすべてのファイルをリソースファイルとして扱います。 | ||
あり | 初期化パラメタで指定した名前 | ファイル | 初期化パラメタで指定した名前のファイルをリソースファイルとして扱います。 |
フォルダ | 初期化パラメタで指定した名前のフォルダの下に置かれたすべてのファイルをリソースファイルとして扱います。 |
ポイント
フォルダ内に配置するリソースファイルのファイル名は任意に付けることができます。
注意
リソースファイルを分割する場合の注意事項は以下のとおりです。
分割されたリソースファイルはそれぞれ単体でリソースファイルとして利用できる必要があります。すなわち、リソースファイルの一部を切り出して別ファイルとすることはできません。
idアトリビュートで指定するIDは、分割されたリソースファイルが配置されてあるフォルダ内で一意でなければなりません。
分割されたリソースファイルを配置するフォルダ内にリソースファイル以外のファイル、サブフォルダを配置することはできません。
デフォルトもしくは初期化パラメタで指定したリソースファイルはアプリケーション起動時に読み込まれます。ロケールごとに作成したリソースファイルは初回利用時に読み込まれます。アプリケーション動作中の動的変更はできません。
EJBセションBeanでは、リソースファイルを分割することはできません。
リソースファイルの分割個数に制限はありませんが、分割した場合、リソースファイルの読み込み時間がリソースファイルの個数に正比例して増加することになるため、リソースファイル使用時の性能に影響します。リソースファイル使用時の性能が著しく遅くなる場合には、業務やアプリケーションの単位でリソースファイルの構成を見直してください。
ロケールごとに作成する方法
リソースファイルはロケールごとに作成することもできます。この場合、リソースファイル名は ujiresource_[ロケール].xml となります。また、ロケールごとにリソースファイルを分割する場合は、ujiresource_[ロケール].xmlフォルダを作成し、フォルダ内にリソースファイルを配置します。このとき、フォルダ内に配置するリソースファイル名は任意に付けることができます。ロケールは以下のいずれかの形式で表現されます。
[言語コード]_[国コード]
[言語コード]
言語コードと国コードはjava.util.Localeクラスで使用されるものと同じです。例えば、ロケールja_JPに対応するリソースファイルは、ujiresource_ja_JP.xmlとなります。
リソースファイルの配置
リソースファイルは設定ファイルフォルダに配置します。 標準の設定ファイルフォルダは以下のとおりです。
アプリケーション種別 | 設定ファイルフォルダ |
---|---|
Webアプリケーション | /WEB-INF |