mod_chxjの動作を決定付ける重要な定義です。変換対象の端末は全て、device_data.xmlファイルに定義される必要があります。定義されていない端末は、mod_chxjとしては、認識することができません。認識できない場合には、変換せずにそのまま出力します。ただし、Perl互換の正規表現(正確にはPCRE)によって定義できるため、正規表現の書き方によっては全ての機種に対応させることも可能です。
<devices>タグは本xmlのルートノードになります。特に意味はありませんが、必ずルートノードにしてください。
1端末を表します。<device>の例を以下に記します。
<device>
<device_id>HI21</device_id>
<device_name>C3001H</device_name>
<html_spec_type>XHTML_MOBILE_1_0</html_spec_type>
<width>120</width>
<heigh>130</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
<color>4096</color>
<emoji_type>C</emoji_type>
<wp_width>120</wp_width>
<wp_heigh>116</wp_heigh>
<cache>9740</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<user_agent>タグで指定するpatternの$1にあたる文字列とマッチングされます。<device_id>がマッチした場合は、その該当<device>がmod_chxjで使用されます。
冗長的な情報です。ログ等に出力する場合にのみ使用されます。人間がわかりやすいよう機種名などを指定します。
mod_chxjが該当<device>の場合どのような処理を行うかを指定します。 指定できる値は以下のとおりです。
| 値 | 意味 |
| CHTML_1_0 | CHTML1.0を出力結果とします。絵文字はdocomo用絵文字に変換されます。 |
| CHTML_2_0 | CHTML2.0を出力結果とします。絵文字はdocomo用絵文字に変換されます。 |
| CHTML_3_0 | CHTML3.0を出力結果とします。絵文字はdocomo用絵文字に変換されます。 |
| CHTML_4_0 | CHTML4.0を出力結果とします。絵文字はdocomo用絵文字に変換されます。(0.12.0以降) |
| CHTML_5_0 | CHTML5.0を出力結果とします。絵文字はdocomo用絵文字に変換されます。(0.12.0以降) |
| CHTML_6_0 | docomo XHTML2.0を出力結果とします。絵文字はdocomo用絵文字に変換されます。(0.13.0以降) |
| CHTML_7_0 | docomo XHTML2.2を出力結果とします。絵文字はdocomo用絵文字に変換されます。(0.13.0以降) |
| HDML | HDMLを出力結果とします。絵文字はau用絵文字に変換されます。 |
| XHTML_MOBILE_1_0 | au用XHTMLを出力結果とします。絵文字はau用絵文字に変換されます。 |
| JHTML | SoftBank HTMLを出力結果とします。絵文字はSoftBank用絵文字に変換されます。 |
| JXHTML | SoftBank XHTMLを出力結果とします。絵文字はSoftBank用絵文字に変換されます。(0.13.0以降) |
| iPhone2 | WebKit向けXHTMLを出力結果とします。絵文字は画像に変換されます。(0.14.0以降) |
| iPhone3 | WebKit向けXHTMLを出力結果とします。絵文字はSoftBank用絵文字(!Unicode参照文字列)に変換されます。(0.14.0以降) |
| iPhone4 | WebKit向けXHTMLを出力結果とします。絵文字はSoftBank用絵文字(!Unicode参照文字列)に変換されます。(0.14.0以降) |
| android | WebKit向けXHTMLを出力結果とします。絵文字は画像絵文字に変換されます。(0.14.0以降) |
画面の幅、高さを指定します。
画像の対応状況をtrue/falseで指定します。
色数を指定します。
auの場合に指定します。指定できる文字は、A、B、C、Dの4つです。
壁紙のサイズを指定します。Mode=WPの際に使用されます。
ブラウザのキャッシュサイズを指定します。
端末の解像度を指定します。
携帯端末へ送信する文字コードを指定します.
<user_agent>タグには、任意個の<device>を保持することができます。<user_agent>が保持する<device>はすべて、 pattern属性のPerl互換正規表現でマッチした<device>になります。 <user_agent>にはpattern属性があります。 このpatternにはPerl互換の正規表現を指定します。 必ず第一グループ($1にあたるグループ)が必要です。 このpatternは端末のUser-Agentヘッダと比較されます。
au XHTML機の場合の<user_agent>
<user_agent pattern="^KDDI-([^ ]+) UP.Browser/[^ ]+ .+">例では第一グループはデバイスIDになるようにしています。
au HDML機の場合の<user_agent>
<user_agent pattern="^UP.Browser/[^\-]+-([^ ]+) .+">例では第一グループはデバイスIDになるようにしています。
docomo CHTML1.0機の一部の場合の<user_agent>
<user_agent pattern="^DoCoMo/1.0/([^ /]+)$">
SoftBank HTML機の場合の<user_agent>
<user_agent pattern="^SoftBank/[^/ ]+/([^/ _]+?)[/ _].+?$">
<user_agent>の子ノードの最後の子ノードが選択されます。
mod_chxjは変換しません。