XtResolvePathname は、呼び出し側が渡したものに加えて以下の置き換えを使って XtFindFile を呼び出し、 XtFindFile が返した値を返す。
パスが XtResolvePathname に渡される場合、これは XtFindFile に渡される。 引き数 path が NULL ならば、環境変数 XFILESEARCHPATH の値が XtFindFile に渡される。 XFILESEARCHPATH が定義されていない場合、少なくとも6つのエントリーを持つ実装固有のデフォ ルトのパスが使われる。このエントリーは以下の置き換えを含まなければなら ない:
1. %C, %N, %S, %T, %L または%C, %N, %S, %T, %l, %t, %c 2. %C, %N, %S, %T, %l 3. %C, %N, %S, %T 4. %N, %S, %T, %L または%N, %S, %T, %l, %t, %c 5. %N, %S, %T, %l 6. %N, %S, %T
パスにおける6つのエントリーの順序は上記のままでなければならない。 与えられたエントリーにおける置き換えの順序と使用は実装依存である。 パスがコロンで始まる場合、その前には %N%S が置かれる。パス中でコロンが 2つ続いている場合には、その間に %N%S が挿入される。
type パラメータはファイルのカテゴリーを示すためのものであり、通 常はパス名内でディレクトリに置換される。これは ``app-defaults'', ``help'', ``bitmap'' 等の値を持つ。
suffix パラメータはファイル名に追加されるものである。 これは ``.txt'', ``.dat'', ``.bm'' 等の値を持つ。
POSIX 準拠のシステムにおけるデフォルトのパスの値の例を挙げる。
ここで <XRoot> は X11 のインストールツリーのルート(例えば /usr/X11R6) に置き換えられる。
この例を使ってユーザが言語を指定した場合には、これは他のファイルを探す ための <XRoot>/lib/X11 のサブディレクトリとして使われる。求めるサイズ がそこで見つからない場合、指定の言語パートだけを使って次の検索が行われ る。それでも見つからない場合には、<XRoot>/lib/X11 が検索される。 type パラメータは言語ディレクトリのサブディレクトリまたは <XRoot>/lib/X11 のサブディレクトリとして使われ、suffix がファイ ル名に追加される。
%D による置き換えを使うと、実行固有のデフォルトパスにパス要素の追加を 行うことができる。特に、システムディレクトリにおけるリソース発見を妨げ ることなく追加のディレクトリを検索することができる。例えば、ユーザがディ レクトリ ``ourdir'' にリソースファイルをインストールした場合、 XFILESEARCHPATH は %D:ourdir/%T/%N%C:ourdir/%T/%N のようにセットされる。
カスタマイズ文字列は、ディスプレイに現在関連づけられているリソースデー タベース( XrmGetDatabase が返すデータベース)に対してリソース application_name.customization やクラス application_class.Customization を問い合わせることで取得できる。 ここで application_name と application_class は XtGetApplicationNameAndClass が返す値である。 データベース中に値が指定されていない場合には、空文字列が使われる。
返された文字列が不要になったとき、 XtFree を使ってこの文字列を解放するのは呼び出し側の責任である。