リソースはロケールやブラウザに依存する場合が多くあります。例えば、読みやすくするため、大きなフォントを設定したりします。
”*”を使ってスタイルシートの URL を指定すれば、ZK は自動的にこれを処理できます。アルゴリズムは以下のようになります。
/my*.css のような URI の中で一つの"*"が指定されたら、"*"はユーザーブラウザの環境設定 (preference) によって適切なロケールと取り替えます。
例えば、ユーザーの設定が de_DE とすると、ZK は /my_de_DE.css、/my_de.css、 /my.css を順番にウェブサイトから検索し、それらのうちの一つかが見つかるまで探します。
何も見つからなかった場合、/my.css が使用されます。
二つ以上の"*"が /my*/lang*.css といった URI の中で指定された場合、はじめの"*"はインターネットイクスプローラーが"ie"、Safariが"saf"、その他のブラウザが"moz"[63]と取り替えられます。
さして、最後のアスタリスクはステップ1の中で説明したように適切なロケールと取り替えられます。
まとめとして、最後のアスタリスクはロケールを表します。一方、はじめのアスタリスクはブラウザの種類を表します。
上記以外の"*"は無視されます。
【メモ】:はじめのドット (".") の直前にロケールを表す最後のアスタリスクをおかなければなりません。
または、ドットがないなら、最後にアスタ リスクをおきます。さらに、その次にスラッシュ(/)が許可されません。
つまり、それはディレクトリーではなく、ファイル名の一部です。最後のアスタリス クは上記の条件を満足しない場合、削除されます。(無視ではない) 例えば、“/my/lang.css*” は ”/my/lang.css” と同様です。つまり、ロケールにとっては中立だと考えられます。
【ヒント】:このルールを採用して、ロケールではなくて、ブラウザの種類によってURIを指定することができます。
例えば、インターネットイクスプローラが現在のブラウザなら、"/my/lang*.css*" は "/my/langie.css" と取り替えられます。
以下の例中で、設定された (prefered) のロケールが de_DE で、ブラウザがインターネットイクスプローラと想定します。
URI |
検索されるリソース |
---|---|
/css/norm*.css |
|
/css-*/norm*.css |
|
/img*/pic*/lang*.png |
|
/img*/lang.gif |
|
/img/lang*.gif* |
|
/img*/lang*.gif* |
|