Develop and Download Open Source Software

Browse CVS Repository

Diff of /modchxj/mod_chxj/doc/modchxj.html

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.28 by konn, Thu Mar 20 06:06:29 2008 UTC revision 1.29 by konn, Fri May 16 10:30:54 2008 UTC
# Line 7  Line 7 
7  <meta http-equiv="Content-Script-Type" content="text/javascript">  <meta http-equiv="Content-Script-Type" content="text/javascript">
8  <meta name="generator" content="SmartDoc 1.1">  <meta name="generator" content="SmartDoc 1.1">
9  <meta name="author" content="Atsushi Konno" lang="ja">  <meta name="author" content="Atsushi Konno" lang="ja">
10  <meta name="date" content="Last modified: Wed, 13 Feb 2008 18:35:16 +0900" lang="ja">  <meta name="date" content="Last modified: Tue,  5 Feb 2008 13:20:28 +0900" lang="ja">
11  <title>mod_chxj</title>  <title>mod_chxj</title>
12  <style type="text/css">  <style type="text/css">
13  <!--  <!--
# Line 692  function setOHPHandler() { Line 692  function setOHPHandler() {
692    
693  <h1 class="title">mod_chxj<br><span class="subtitle"></span></h1>  <h1 class="title">mod_chxj<br><span class="subtitle"></span></h1>
694    
695  <div class="date">Last modified: Wed, 13 Feb 2008 18:35:16 +0900</div>  <div class="date">Last modified: Tue,  5 Feb 2008 13:20:28 +0900</div>
696  <div class="author">Atsushi Konno</div>  <div class="author">Atsushi Konno</div>
697  <h2>目次</h2>  <h2>目次</h2>
698    
# Line 705  function setOHPHandler() { Line 705  function setOHPHandler() {
705  <li> <a href="#doc1_46" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">mod_chxjの入手</a>  <li> <a href="#doc1_46" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">mod_chxjの入手</a>
706  <li> <a href="#doc1_52" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">インストール</a>  <li> <a href="#doc1_52" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">インストール</a>
707  </ul>  </ul>
708  <li> <a href="#doc1_101" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Configuration</a>  <li> <a href="#doc1_95" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Configuration</a>
709  <ul>  <ul>
710  <li> <a href="#doc1_103" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">htmlファイルが変換対象の場合</a>  <li> <a href="#doc1_97" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">htmlファイルが変換対象の場合</a>
711  <li> <a href="#doc1_118" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">php等の出力結果が変換対象の場合</a>  <li> <a href="#doc1_112" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">php等の出力結果が変換対象の場合</a>
712  <li> <a href="#doc1_133" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">xoopsを使用し、且つwordpress、bwikiを使用している場合</a>  <li> <a href="#doc1_127" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">xoopsを使用し、且つwordpress、bwikiを使用している場合</a>
713  <li> <a href="#doc1_148" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">画像自動変換機能を使用する場合</a>  <li> <a href="#doc1_142" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">画像自動変換機能を使用する場合</a>
714  <li> <a href="#doc1_225" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">文字コードを変換したい場合</a>  <li> <a href="#doc1_219" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">文字コードを変換したい場合(EXPERIMENTAL)</a>
715  <li> <a href="#doc1_269" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">ディレクティブ</a>  <li> <a href="#doc1_263" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">ディレクティブ</a>
716  </ul>  </ul>
717  <li> <a href="#doc1_394" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">対応するCHTMLタグ</a>  <li> <a href="#doc1_388" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">対応するCHTMLタグ</a>
718  <li> <a href="#doc1_1177" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">独自拡張タグ</a>  <li> <a href="#doc1_1096" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">独自拡張タグ</a>
719  <li> <a href="#doc1_1214" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">文字コードについて</a>  <li> <a href="#doc1_1133" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字について</a>
 <li> <a href="#doc1_1243" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字について</a>  
720  <ul>  <ul>
721  <li> <a href="#doc1_1248" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字変換定義</a>  <li> <a href="#doc1_1138" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字変換定義</a>
 <ul>  
 <li> <a href="#doc1_1255" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">DoCoMo→DoCoMo/au/SoftBank変換定義</a>  
 <li> <a href="#doc1_1302" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">au→DoCoMo変換定義</a>  
 <li> <a href="#doc1_1345" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">SoftBank→DoCoMo変換定義</a>  
 </ul>  
722  </ul>  </ul>
723  <li> <a href="#doc1_1396" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">デバイス定義 device_data.xml</a>  <li> <a href="#doc1_1183" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">デバイス定義 device_data.xml</a>
724    <li> <a href="#doc1_1186" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">イメージ画像変換機能</a>
725  <ul>  <ul>
726  <li> <a href="#doc1_1400" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">デバイス定義の要素</a>  <li> <a href="#doc1_1195" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">サムネイルモード</a>
727    <li> <a href="#doc1_1201" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">壁紙モード</a>
728    <li> <a href="#doc1_1207" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">EzGetモード</a>
729    <li> <a href="#doc1_1213" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">その他の機能</a>
730  </ul>  </ul>
731  <li> <a href="#doc1_1810" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">イメージ画像変換機能</a>  <li> <a href="#doc1_1244" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコード出力機能</a>
732  <ul>  <ul>
733  <li> <a href="#doc1_1819" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">サムネイルモード</a>  <li> <a href="#doc1_1246" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコード出力ハンドラの登録</a>
734  <li> <a href="#doc1_1825" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">壁紙モード</a>  <li> <a href="#doc1_1252" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードソースファイルの設置</a>
735  <li> <a href="#doc1_1831" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">EzGetモード</a>  <li> <a href="#doc1_1276" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードの動的出力機能</a>
 <li> <a href="#doc1_1837" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">その他の機能</a>  
736  </ul>  </ul>
737  <li> <a href="#doc1_1868" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコード出力機能</a>  <li> <a href="#doc1_1283" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>
738  <ul>  <ul>
739  <li> <a href="#doc1_1870" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコード出力ハンドラの登録</a>  <li> <a href="#doc1_1285" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>
740  <li> <a href="#doc1_1876" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードソースファイルの設置</a>  <li> <a href="#doc1_1291" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">One-Time ID</a>
741  <li> <a href="#doc1_1900" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードの動的出力機能</a>  <li> <a href="#doc1_1294" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保存場所</a>
742    <li> <a href="#doc1_1300" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保持期間</a>
743  </ul>  </ul>
744  <li> <a href="#doc1_1907" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>  <li> <a href="#doc1_1307" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>
745  <ul>  <ul>
746  <li> <a href="#doc1_1909" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>  <li> <a href="#doc1_1309" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>
 <li> <a href="#doc1_1915" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">One-Time ID</a>  
 <li> <a href="#doc1_1918" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保存場所</a>  
 <li> <a href="#doc1_1924" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保持期間</a>  
 </ul>  
 <li> <a href="#doc1_1931" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>  
 <ul>  
 <li> <a href="#doc1_1933" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>  
747  </ul>  </ul>
748  </ul>  </ul>
749  </div>  </div>
750    
751  <h2 id="doc1_17">Overview</h2>  <h2 id="doc1_17">Overview</h2>
752    
753  <p class="first_ja">mod_chxjはオープンソースの携帯向けコンテンツ変換Apache2.x用モジュールであり、CHTML(DoCoMo i-Mode用CHTML3.0)で記述された文書や通常のHTMLで記述された文書を、アクセスに来た端末のUser-Agentヘッダを見て、それぞれの端末にあった形式に変換します。HTML文書に限らず、画像(jpg、gif、png)、絵文字についても、定義ファイルに従ってそれぞれのキャリアにあった絵文字に変換します。Cookie非対応端末、Refer非対応端末のために、Set-Cookie、CookieヘッダやRefererヘッダをシミュレートすることもできます(EXPERIMENTAL)。</p>  <p class="first_ja">mod_chxjはオープンソースの携帯向けコンテンツ変換Apache2.0用モジュールであり、CHTML(DoCoMo i-Mode用CHTML3.0)で記述された文書や通常のHTMLで記述された文書を、アクセスに来た端末のUser-Agentヘッダを見て、それぞれの端末にあった形式に変換します。HTML文書に限らず、画像(jpg、gif、png)、絵文字についても、定義ファイルに従ってそれぞれのキャリアにあった絵文字に変換します。Cookie非対応端末、Refer非対応端末のために、Set-Cookie、CookieヘッダやRefererヘッダをシミュレートすることもできます(EXPERIMENTAL)。</p>
754    
755  <h2 id="doc1_20">インストール</h2>  <h2 id="doc1_20">インストール</h2>
756    
# Line 769  function setOHPHandler() { Line 760  function setOHPHandler() {
760  <p class="first_ja">mod_chxjをインストールする前に、下記のものを用意する必要があります。</p>  <p class="first_ja">mod_chxjをインストールする前に、下記のものを用意する必要があります。</p>
761    
762  <ol>  <ol>
763  <li> Apache2.xのヘッダーファイル群  <li> Apache2.0のヘッダーファイル群
764  <li> Apache2.x用のapxs  <li> Apache2.0用のapxs
765  <li> apr(Apache Portable Runtime)ライブラリとそのヘッダファイル郡(apu含む)  <li> apr(Apache Portable Runtime)ライブラリとそのヘッダファイル郡(apu含む)
766  <li> automake、autoconf、libtool1.3.X  <li> automake、autoconf、libtool1.3.X
767  <li> ImageMagick(MagickWand)  <li> ImageMagick(MagickWand)
# Line 786  function setOHPHandler() { Line 777  function setOHPHandler() {
777  <p class="first_ja">以下にmod_chxjインストール手順を示します。</p>  <p class="first_ja">以下にmod_chxjインストール手順を示します。</p>
778    
779  <ol>  <ol>
780  <li> <p>Configureスクリプトを生成します(必須ではない)</p>  <li> <p>Configureスクリプトを生成します</p>
781    
782  <div id="doc1_58" class="caption">Configure スクリプトの生成</div>  <div id="doc1_58" class="caption">Configure スクリプトの生成</div>
783  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
# Line 795  $ ./buildconf.sh Line 786  $ ./buildconf.sh
786    
787  <p><span class="note"><a href="#doc1_61" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="&quot;$&quot;はプロンプトをあらわします。"><sup>(1)</sup></a></span></p>  <p><span class="note"><a href="#doc1_61" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="&quot;$&quot;はプロンプトをあらわします。"><sup>(1)</sup></a></span></p>
788  <li> <p>Configure</p>  <li> <p>Configure</p>
789    <p>以下は、/usr/include/apache2.0に、Apache2.0のヘッダーファイルが存在する場合です。</p>
790    
791  <div id="doc1_67" class="caption">Configure</div>  <div id="doc1_67" class="caption">Configure</div>
792  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
793  $ ./configure  $ ./configure
794  </pre>  </pre>
795    
796  <p><span class="note"><a href="#doc1_70" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="場合によっては--with-apr-configや--with-apu-configも必要です。"><sup>(2)</sup></a></span><span class="note"><a href="#doc1_73" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="0.8.6以下の場合には--with-apache-headerが必須です"><sup>(3)</sup></a></span></p>  <p><span class="note"><a href="#doc1_70" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="場合によっては--with-apr-configや--with-apu-config、--with-pcre-configも必要です。"><sup>(2)</sup></a></span></p>
797  <li> mod_chxj.soを生成します  <li> mod_chxj.soを生成します
798  <div id="doc1_79" class="caption">make</div>  <div id="doc1_76" class="caption">make</div>
799  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
800  $ make  $ make
801  </pre>  </pre>
802  <li> apacheにインストールします  <li> apacheにインストールします
803  <div id="doc1_85" class="caption">install</div>  <div id="doc1_82" class="caption">install</div>
804  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
805  $ make install  $ make install
806  </pre>  </pre>
807  <li> <p>データの設置etcディレクトリは以下のdevice_data.xmlとemoji.xmlをApacheからアクセスできるところに配置します。<span class="note"><a href="#doc1_91" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="0.9.0からemoji.xml、device_data.xmlの定義フォーマットを変更しましたのでバージョンをあわせてください"><sup>(4)</sup></a></span></p>  <li> <p>データの設置etcディレクトリは以下のdevice_data.xmlとemoji.xmlをApacheからアクセスできるところに配置します。</p>
808  <p>以下、/etc/apache2/chxjディレクトリにchxj用設定ファイルを用意する場合</p>  <p>以下、/etc/apache2/chxjディレクトリにchxj用設定ファイルを用意する場合</p>
809    
810  <div id="doc1_94" class="caption">データの設置</div>  <div id="doc1_88" class="caption">データの設置</div>
811  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
812  $ mkdir -p /etc/apache2/chxj  $ mkdir -p /etc/apache2/chxj
813  $ cp etc/device_data.xml /etc/apache2/chxj  $ cp etc/device_data.xml /etc/apache2/chxj
# Line 825  $ cp etc/emoji.xml /etc/apache2/chxj Line 817  $ cp etc/emoji.xml /etc/apache2/chxj
817    
818  <div class="footnote">  <div class="footnote">
819  <ol>  <ol>
820  <li id="doc1_61" value="1"> &quot;$&quot;はプロンプトをあらわします。<li id="doc1_70" value="2"> 場合によっては--with-apr-configや--with-apu-configも必要です。<li id="doc1_73" value="3"> 0.8.6以下の場合には--with-apache-headerが必須です<li id="doc1_91" value="4"> 0.9.0からemoji.xml、device_data.xmlの定義フォーマットを変更しましたのでバージョンをあわせてください</ol>  <li id="doc1_61" value="1"> &quot;$&quot;はプロンプトをあらわします。<li id="doc1_70" value="2"> 場合によっては--with-apr-configや--with-apu-config、--with-pcre-configも必要です。</ol>
821  </div>  </div>
822    
823    
824  <h2 id="doc1_101">Configuration</h2>  <h2 id="doc1_95">Configuration</h2>
825    
826  <p class="first_ja">以下はmod_chxjが/usr/lib/apache2/modulesディレクトリ配下に設置されたものとしています</p>  <p class="first_ja">以下はmod_chxjが/usr/lib/apache2/modulesディレクトリ配下に設置されたものとしています</p>
827    
828  <h3 id="doc1_103">htmlファイルが変換対象の場合</h3>  <h3 id="doc1_97">htmlファイルが変換対象の場合</h3>
829    
830  <p class="first_ja">例として、Locationが&quot;/chxj&quot;以下のものは全て変換する場合を説明します。</p>  <p class="first_ja">例として、Locationが&quot;/chxj&quot;以下のものは全て変換する場合を説明します。</p>
831    
832  <ol>  <ol>
833  <li> httpd.confに以下を追加します。  <li> httpd.confに以下を追加します。
834  <div id="doc1_109" class="caption">httpd.conf</div>  <div id="doc1_103" class="caption">httpd.conf</div>
835  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
836  #====================================================================================  #====================================================================================
837  # モジュールをApache2.0にロード  # モジュールをApache2.0にロード
# Line 868  ChxjConvertRule &quot;^/chxj.+$&quot; &q Line 860  ChxjConvertRule &quot;^/chxj.+$&quot; &q
860  <li> apacheの再起動。</ol>  <li> apacheの再起動。</ol>
861    
862    
863  <h3 id="doc1_118">php等の出力結果が変換対象の場合</h3>  <h3 id="doc1_112">php等の出力結果が変換対象の場合</h3>
864    
865    
866  <ol>  <ol>
867  <li> httpd.confに以下を追加します  <li> httpd.confに以下を追加します
868  <div id="doc1_124" class="caption">httpd.conf</div>  <div id="doc1_118" class="caption">httpd.conf</div>
869  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
870  #====================================================================================  #====================================================================================
871  # モジュールをApache2.xにロード  # モジュールをApache2.0にロード
872  #====================================================================================  #====================================================================================
873  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so
874    
# Line 903  ChxjConvertRule &quot;^/chxj.+$&quot; &q Line 895  ChxjConvertRule &quot;^/chxj.+$&quot; &q
895  <li> apacheの再起動。</ol>  <li> apacheの再起動。</ol>
896    
897    
898  <h3 id="doc1_133">xoopsを使用し、且つwordpress、bwikiを使用している場合</h3>  <h3 id="doc1_127">xoopsを使用し、且つwordpress、bwikiを使用している場合</h3>
899    
900    
901  <ol>  <ol>
902  <li> httpd.confに以下を追加します  <li> httpd.confに以下を追加します
903  <div id="doc1_139" class="caption">httpd.conf</div>  <div id="doc1_133" class="caption">httpd.conf</div>
904  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
905  #====================================================================================  #====================================================================================
906  # モジュールをApache2.xにロード  # モジュールをApache2.0にロード
907  #====================================================================================  #====================================================================================
908  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so
909    
# Line 978  ChxjConvertRule &quot;^/.+$&quot; &quot; Line 970  ChxjConvertRule &quot;^/.+$&quot; &quot;
970  <li> apacheの再起動。</ol>  <li> apacheの再起動。</ol>
971    
972    
973  <h3 id="doc1_148">画像自動変換機能を使用する場合</h3>  <h3 id="doc1_142">画像自動変換機能を使用する場合</h3>
974    
975    
976  <ol>  <ol>
977  <li> <p>httpd.confに以下を追加します。下記は、URIが/imgで始まる全ての画像に対して動作するようmod_chxjに指示しています。</p>  <li> <p>httpd.confに以下を追加します。下記は、URIが/imgで始まる全ての画像に対して動作するようmod_chxjに指示しています。</p>
978    
979  <div id="doc1_154" class="caption">httpd.conf</div>  <div id="doc1_148" class="caption">httpd.conf</div>
980  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
981  &lt;Location /img&gt;  &lt;Location /img&gt;
982  ChxjImageEngine On  ChxjImageEngine On
983  ChxjImageCacheDir /tmp  ChxjImageCacheDir /tmp
984  ChxjImageCopyright &quot;A.Konno&quot;  ChxjImageCopyright &quot;A.Konno&quot;
 ChxjImageCacheLimit 10485760  
985  &lt;/Location&gt;  &lt;/Location&gt;
986  </pre>  </pre>
987    
# Line 1001  ChxjImageCacheLimit 10485760 Line 992  ChxjImageCacheLimit 10485760
992  <p><br></br> <br></br></p>  <p><br></br> <br></br></p>
993  <li> <p>ChxjImageCacheDir<br></br> mod_chxj画像変換ハンドラが使用する変換後の画像をおいておくディレクトリを指定します。デフォルトは/tmp。</p>  <li> <p>ChxjImageCacheDir<br></br> mod_chxj画像変換ハンドラが使用する変換後の画像をおいておくディレクトリを指定します。デフォルトは/tmp。</p>
994    
995  <div id="doc1_172" class="caption">ChxjImageCacheDir</div>  <div id="doc1_166" class="caption">ChxjImageCacheDir</div>
996  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
997        ChxjImageCacheDir /tmp        ChxjImageCacheDir /tmp
998                
999  </pre>  </pre>
1000    
1001  <p>mod_chxjに画像変換キャッシュとして/tmpを使用するよう指示します。<br></br><br></br></p>  <p>mod_chxjに画像変換キャッシュとして/tmpを使用するよう指示します。<br></br><br></br></p>
1002    <li> <p>ChxjImageCacheLimit<br></br> mod_chxj画像変換ハンドラが使用する変換後の画像をおいておくディレクトリの許容量を指定します。単位はbyte。</p>
1003    
1004    <div id="doc1_178" class="caption">ChxjImageCacheLimit</div>
1005    <pre class="program" style="margin-top:0">
1006          ChxjImageCacheLimit 1024
1007          
1008    </pre>
1009    
1010    <p>mod_chxjに画像変換キャッシュ最大サイズとして1kbyteと指定。※このとき変換結果が1kbyte以上あるような場合にはINTERNAL_SERVER_ERRORを返します。十分な領域を確保するか、画像サイズを小さくしてください。<br></br><br></br></p>
1011  <li> <p>ChxjImageCopyright<br></br> mod_chxjの画像変換ハンドラに、転送禁止設定を行うよう指示します。パラメータとして任意の文字列をとります。ChxjImageCopyrightディレクティブで指定された文字列は、それぞれのイメージのコメント部に埋め込まれます。</p>  <li> <p>ChxjImageCopyright<br></br> mod_chxjの画像変換ハンドラに、転送禁止設定を行うよう指示します。パラメータとして任意の文字列をとります。ChxjImageCopyrightディレクティブで指定された文字列は、それぞれのイメージのコメント部に埋め込まれます。</p>
1012    
1013  <div id="doc1_184" class="caption">ChxjImageCopyright</div>  <div id="doc1_190" class="caption">ChxjImageCopyright</div>
1014  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1015        ChxjImageCopyright &quot;A.Konno&quot;        ChxjImageCopyright &quot;A.Konno&quot;
1016                
# Line 1019  ChxjImageCacheLimit 10485760 Line 1019  ChxjImageCacheLimit 10485760
1019  <p>mod_chxjに転送禁止設定を行うよう指示しています。変換後イメージのコメント部分には、キャリア毎に以下の文字列を埋め込みます。</p>  <p>mod_chxjに転送禁止設定を行うよう指示しています。変換後イメージのコメント部分には、キャリア毎に以下の文字列を埋め込みます。</p>
1020  <p><b>AU の場合</b></p>  <p><b>AU の場合</b></p>
1021    
1022  <div id="doc1_190" class="caption">AU</div>  <div id="doc1_196" class="caption">AU</div>
1023  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1024         kddi_copyright=on,A.Konno         kddi_copyright=on,A.Konno
1025                
# Line 1027  ChxjImageCacheLimit 10485760 Line 1027  ChxjImageCacheLimit 10485760
1027    
1028  <p><b>DoCoMoの場合</b></p>  <p><b>DoCoMoの場合</b></p>
1029    
1030  <div id="doc1_196" class="caption">DoCoMo</div>  <div id="doc1_202" class="caption">DoCoMo</div>
1031  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1032  copy=&quot;NO&quot;,A.Konno  copy=&quot;NO&quot;,A.Konno
1033  </pre>  </pre>
1034    
1035  <p><b>SoftBank/Vodafone</b>の場合は、レスポンスヘッダに</p>  <p><b>SoftBank/Vodafone</b>の場合は、レスポンスヘッダに</p>
1036    
1037  <div id="doc1_202" class="caption">SoftBank/Vodafone/J-PHONE</div>  <div id="doc1_208" class="caption">SoftBank/Vodafone/J-PHONE</div>
1038  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1039           x-jphone-copyright:no-transfer           x-jphone-copyright:no-transfer
1040                
1041  </pre>  </pre>
1042    
1043  <p>を埋め込みます。<span class="note"><a href="#doc1_205" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="SoftBank/Vodafoneの場合は、リクエストURLの最後が.pnzか、.jpzで終わるようにダミーを付けなければなりません。"><sup>(5)</sup></a></span></p>  <p>を埋め込みます。<span class="note"><a href="#doc1_211" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="SoftBank/Vodafoneの場合は、リクエストURLの最後が.pnzか、.jpzで終わるようにダミーを付けなければなりません。"><sup>(3)</sup></a></span></p></ol></ol>
 <li> <p>ChxjImageCacheLimit<br></br> mod_chxj画像変換ハンドラが使用する変換後の画像をおいておくディレクトリの許容量を指定します。単位はbyte。</p>  
   
 <div id="doc1_213" class="caption">ChxjImageCacheLimit</div>  
 <pre class="program" style="margin-top:0">  
       ChxjImageCacheLimit 1024  
         
 </pre>  
   
 <p>mod_chxjに画像変換キャッシュ最大サイズとして1kbyteと指定。※このとき変換結果が1kbyte以上あるような場合にはINTERNAL_SERVER_ERRORを返します。十分な領域を確保するか、画像サイズを小さくしてください。<br></br><br></br></p></ol></ol>  
1044    
1045    
1046  <div class="footnote">  <div class="footnote">
1047  <ol>  <ol>
1048  <li id="doc1_205" value="5"> SoftBank/Vodafoneの場合は、リクエストURLの最後が.pnzか、.jpzで終わるようにダミーを付けなければなりません。</ol>  <li id="doc1_211" value="3"> SoftBank/Vodafoneの場合は、リクエストURLの最後が.pnzか、.jpzで終わるようにダミーを付けなければなりません。</ol>
1049  </div>  </div>
1050    
1051    
1052  <h3 id="doc1_225">文字コードを変換したい場合</h3>  <h3 id="doc1_219">文字コードを変換したい場合(EXPERIMENTAL)</h3>
1053    
1054    
1055  <ol>  <ol>
1056  <li> <p>httpd.confに以下を追加します。下記は、URIが/chxjで始まる全てのコンテンツに対して動作するようmod_chxjに指示しています。サーバ側はEUC-JPであった場合の例です。mod_chxjによってSJISに変換するように指示しています。サーバ側がShift_JISで無い場合は、Shift_JISコードの10進参照文字列表記を記述することによってShift_JISコードの絵文字2バイトコードに変換しクライアントへ返します。</p>  <li> <p>httpd.confに以下を追加します。下記は、URIが/chxjで始まる全てのコンテンツに対して動作するようmod_chxjに指示しています。サーバ側はEUC-JPであった場合の例です。mod_chxjによってSJISに変換するように指示しています。サーバ側がShift_JISで無い場合は、Shift_JISコードの10進参照文字列表記を記述することによってShift_JISコードの絵文字2バイトコードに変換しクライアントへ返します。</p>
1057    
1058  <div id="doc1_231" class="caption">httpd.conf</div>  <div id="doc1_225" class="caption">httpd.conf</div>
1059  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1060  ChxjConvRule &quot;^/chxj.+$&quot; &quot;EngineOn&quot; &quot;EUC-JP&quot;  ChxjConvRule &quot;^/chxj.+$&quot; &quot;EngineOn&quot; &quot;EUC-JP&quot;
1061  </pre>  </pre>
# Line 1075  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1066  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1066  <li> <p>ChxjConvertRule<br></br>サーバサイドの文字コードを指定します。ここに、EUC-JPと指定してあった場合は、EUC-JPからCP932に変換後、クライアントに出力されます。省略した場合はNONE</p>  <li> <p>ChxjConvertRule<br></br>サーバサイドの文字コードを指定します。ここに、EUC-JPと指定してあった場合は、EUC-JPからCP932に変換後、クライアントに出力されます。省略した場合はNONE</p>
1067    
1068  <ol>  <ol>
1069  <li> 変換エンジン動作指示命令<br></br>ChxjConvertRule ==&gt;ディレクティブ<br></br>&quot;^/chxj.+$&quot; ==&gt; Perl互換のURIパターン<br></br>EngineOn ==&gt;変換エンジンを動作させる指示。動作させたく無い場合は&quot;EngineOff&quot;<br></br> EUC-JP ==&gt;サーバ側の文字コード。(NONEを指定した場合は文字コード変換しない)<br></br> <br></br> EUC-JPからCP932に文字コード変換します。(libiconvに依存します)<br></br></ol>  <li> 変換エンジン動作指示命令<br></br>ChxjConvertRule ==&gt;ディレクティブ<br></br>&quot;^/chxj.+$&quot; ==&gt; Perl互換のURIパターン<br></br>EngineOn ==&gt;変換エンジンを動作させる指示。動作させたく無い場合は&quot;EngineOff&quot;<br></br> EUC-JP ==&gt;サーバ側の文字コード。(NONEを指定した場合は文字コード変換しない)<br></br> <br></br> EUC-JPからCP932に文字コード変換します。(glibc/iconvに依存します)<br></br></ol>
1070    
1071  <p><br></br><br></br></p></ol></ol>  <p><br></br><br></br></p></ol></ol>
1072    
1073    
1074  <h3 id="doc1_269">ディレクティブ</h3>  <h3 id="doc1_263">ディレクティブ</h3>
1075    
1076    
1077  <ol>  <ol>
1078  <li> ChxjLoadDeviceData<br></br>デバイス定義ファイルを指定します。  <li> ChxjLoadDeviceData<br></br>デバイス定義ファイルを指定します。
1079  <div id="doc1_277" class="caption">ex)</div>  <div id="doc1_271" class="caption">ex)</div>
1080  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1081      ChxjLoadDeviceData /etc/apache2/device.xml      ChxjLoadDeviceData /etc/apache2/device.xml
1082        
1083  </pre>  </pre>
1084  <li> ChxjLoadEmojiData<br></br>絵文字変換定義ファイルを指定します。  <li> ChxjLoadEmojiData<br></br>絵文字変換定義ファイルを指定します。
1085  <div id="doc1_285" class="caption">ex)</div>  <div id="doc1_279" class="caption">ex)</div>
1086  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1087      ChxjLoadEmojiData   /etc/apache2/chxj/emoji.xml      ChxjLoadEmojiData   /etc/apache2/chxj/emoji.xml
1088        
1089  </pre>  </pre>
1090  <li> ChxjImageEngine<br></br>画像変換エンジンを有効にします。パラメータとしてOnとOffを指定できます。DefaultはOffです。  <li> ChxjImageEngine<br></br>画像変換エンジンを有効にします。パラメータとしてOnとOffを指定できます。DefaultはOffです。
1091  <div id="doc1_293" class="caption">ex)</div>  <div id="doc1_287" class="caption">ex)</div>
1092  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1093      ChxjImageEngine On      ChxjImageEngine On
1094        
1095  </pre>  </pre>
1096  <li> ChxjImageCacheDir<br></br>イメージの一時ファイル保存場所を指定します。  <li> ChxjImageCacheDir<br></br>イメージの一時ファイル保存場所を指定します。
1097  <div id="doc1_301" class="caption">ex)</div>  <div id="doc1_295" class="caption">ex)</div>
1098  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1099      ChxjImageCacheDir   /tmp      ChxjImageCacheDir   /tmp
1100        
1101  </pre>  </pre>
1102  <li> ChxjImageCacheLimit<br></br>イメージの一時ファイル保存許容量を指定します。下記は1MByteの例。  <li> ChxjImageCacheLimit<br></br>イメージの一時ファイル保存許容量を指定します。下記は1MByteの例。
1103  <div id="doc1_309" class="caption">ex)</div>  <div id="doc1_303" class="caption">ex)</div>
1104  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1105      ChxjImageCacheLimit   1048576      ChxjImageCacheLimit   1048576
1106        
1107  </pre>  </pre>
1108  <li> ChxjImageCopyright<br></br>イメージに著作権情報を付与します。  <li> ChxjImageCopyright<br></br>イメージに著作権情報を付与します。
1109  <div id="doc1_317" class="caption">ex)</div>  <div id="doc1_311" class="caption">ex)</div>
1110  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1111      ChxjImageCopyright   &quot;chosakuken jyoho&quot;      ChxjImageCopyright   &quot;chosakuken jyoho&quot;
1112        
1113  </pre>  </pre>
1114  <li> ChxjConvertRule<br></br> HTML変換エンジンの適用ルールを記述します。本ディレクティブを使用し、変換エンジンのOn|Offを指定します。DefaultはOFFです。また、ルールは記述された順番に評価し、マッチするものがあれば、その時点で対象ルールを適用します。パラメータは3つ必要です。下記にパラメータを記します。  <li> ChxjConvertRule<br></br> HTML変換エンジンの適用ルールを記述します。本ディレクティブを使用し、変換エンジンのOn|Offを指定します。DefaultはOFFです。また、ルールは記述された順番に評価し、マッチするものがあれば、その時点で対象ルールを適用します。パラメータは3つ必要です。下記にパラメータを記します。
1115  <div class="table">  <div class="table">
1116  <table id="doc1_325" class="data" rules="groups">  <table id="doc1_319" class="data" rules="groups">
1117  <caption>パラメータ</caption>  <caption>パラメータ</caption>
1118  <colgroup span="2">  <colgroup span="2">
1119  <col>  <col>
# Line 1154  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1145  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1145  </div>  </div>
1146    
1147    
1148  <div id="doc1_371" class="caption">ex)</div>  <div id="doc1_365" class="caption">ex)</div>
1149  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1150      ChxjConvertRule &quot;^/chxj.+$/&quot; EngineOn EUC-JP      ChxjConvertRule &quot;^/chxj.+$/&quot; EngineOn EUC-JP
1151        
1152  </pre>  </pre>
1153  <li> <p>ChxjCookieDir<br></br>クッキーを使用する場合に指定します。クッキーの内容を保存するディレクトリを指定します。指定しない場合は/tmpに保存されます。</p>  <li> <p>ChxjCookieDir<br></br>クッキーを使用する場合に指定します。クッキーの内容を保存するディレクトリを指定します。指定しない場合は/tmpに保存されます。</p>
1154    
1155  <div id="doc1_379" class="caption">ex)</div>  <div id="doc1_373" class="caption">ex)</div>
1156  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1157      &lt;Location /&gt;      &lt;Location /&gt;
1158        ChxjCookieDir   /tmp        ChxjCookieDir   /tmp
# Line 1172  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1163  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1163  <p>詳細は「Cookieシミュレート機能」の項を参照ください。</p>  <p>詳細は「Cookieシミュレート機能」の項を参照ください。</p>
1164  <li> <p>ChxjCookieTimeout<br></br>クッキーを使用する場合に指定します。クッキーの保持期間を秒単位で指定します。指定しない場合は、1800秒でクッキーデータを破棄します。</p>  <li> <p>ChxjCookieTimeout<br></br>クッキーを使用する場合に指定します。クッキーの保持期間を秒単位で指定します。指定しない場合は、1800秒でクッキーデータを破棄します。</p>
1165    
1166  <div id="doc1_387" class="caption">ex)</div>  <div id="doc1_381" class="caption">ex)</div>
1167  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1168      &lt;Location /&gt;      &lt;Location /&gt;
1169        ChxjCookieTimeout 10        ChxjCookieTimeout 10
# Line 1183  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1174  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1174  <p>詳細は「Cookieシミュレート機能」の項を参照ください。</p></ol>  <p>詳細は「Cookieシミュレート機能」の項を参照ください。</p></ol>
1175    
1176    
1177  <h2 id="doc1_394">対応するCHTMLタグ</h2>  <h2 id="doc1_388">対応するCHTMLタグ</h2>
1178    
1179  <p class="first_ja">変換可能なCHTMLタグは以下のとおりです。</p>  <p class="first_ja">変換可能なCHTMLタグは以下のとおりです。</p>
1180    
1181  <div class="table">  <div class="table">
1182  <table id="doc1_396" class="data" rules="groups">  <table id="doc1_390" class="data" rules="groups">
1183  <caption>対応タグ一覧</caption>  <caption>対応タグ一覧</caption>
1184  <colgroup span="7">  <colgroup span="7">
1185  <col>  <col>
# Line 1353  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1344  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1344  <td align="center">○</td>  <td align="center">○</td>
1345  <td align="center">○</td>  <td align="center">○</td>
1346  <td align="center">○</td>  <td align="center">○</td>
1347  <td align="left"><span class="note"><a href="#doc1_808" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="SoftBankの予約クエリ名は内部で変換するので指定しても良い"><sup>(10)</sup></a></span></td>  <td align="left"></td>
1348  </tr>  </tr>
1349  <tr class="even">  <tr class="even">
1350  <td></td>  <td></td>
# Line 1383  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1374  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1374  <td align="left"></td>  <td align="left"></td>
1375  </tr>  </tr>
1376  <tr class="odd">  <tr class="odd">
1377  <td>&lt;SELECT&gt;</td>  <td>&lt;SELECT&lt;</td>
1378  <td align="center">name</td>  <td align="center">name</td>
1379  <td align="center">○</td>  <td align="center">○</td>
1380  <td align="center">○</td>  <td align="center">○</td>
# Line 1407  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1398  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1398  <td align="center">○</td>  <td align="center">○</td>
1399  <td align="center">○</td>  <td align="center">○</td>
1400  <td align="center">○</td>  <td align="center">○</td>
1401  <td align="left"><span class="note"><a href="#doc1_952" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="必ず閉じてください。そのうち対応します。"><sup>(11)</sup></a></span></td>  <td align="left"><span class="note"><a href="#doc1_945" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="必ず閉じてください。そのうち対応します。"><sup>(5)</sup></a></span></td>
1402  </tr>  </tr>
1403  <tr class="even">  <tr class="even">
1404  <td></td>  <td></td>
# Line 1455  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1446  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1446  <td align="left"></td>  <td align="left"></td>
1447  </tr>  </tr>
1448  <tr class="odd">  <tr class="odd">
 <td>&lt;DL&gt;</td>  
 <td align="center"> </td>  
 <td align="center">○</td>  
 <td align="center">&times;</td>  
 <td align="center">○</td>  
 <td align="center">○</td>  
 <td align="left"></td>  
 </tr>  
 <tr class="even">  
 <td>&lt;DT&gt;</td>  
 <td align="center"> </td>  
 <td align="center">○</td>  
 <td align="center">○</td>  
 <td align="center">○</td>  
 <td align="center">○</td>  
 <td align="left"><span class="note"><a href="#doc1_1121" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="必ず閉じてください。そのうち対応します。"><sup>(12)</sup></a></span></td>  
 </tr>  
 <tr class="odd">  
 <td>&lt;DD&gt;</td>  
 <td align="center"> </td>  
 <td align="center">○</td>  
 <td align="center">○</td>  
 <td align="center">○</td>  
 <td align="center">○</td>  
 <td align="left"><span class="note"><a href="#doc1_1146" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="必ず閉じてください。そのうち対応します。"><sup>(13)</sup></a></span></td>  
 </tr>  
 <tr class="even">  
1449  <td>&lt;CHXJ:IF&gt;</td>  <td>&lt;CHXJ:IF&gt;</td>
1450  <td align="center">lang</td>  <td align="center">lang</td>
1451  <td align="center">○</td>  <td align="center">○</td>
# Line 1497  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1461  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1461    
1462  <div class="footnote">  <div class="footnote">
1463  <ol>  <ol>
1464  <li id="doc1_808" value="10"> SoftBankの予約クエリ名は内部で変換するので指定しても良い<li id="doc1_952" value="11"> 必ず閉じてください。そのうち対応します。<li id="doc1_1121" value="12"> 必ず閉じてください。そのうち対応します。<li id="doc1_1146" value="13"> 必ず閉じてください。そのうち対応します。</ol>  <li id="doc1_945" value="5"> 必ず閉じてください。そのうち対応します。</ol>
1465  </div>  </div>
1466    
1467    
1468  <h2 id="doc1_1177">独自拡張タグ</h2>  <h2 id="doc1_1096">独自拡張タグ</h2>
1469    
1470    
1471  <ol>  <ol>
1472  <li> <p>&lt;CHXJ:IF&gt;<br></br></p>  <li> <p>&lt;CHXJ:IF&gt;<br></br></p>
1473  <p>&lt;CHXJ:IF&gt;タグと&lt;/CHXJ:IF&gt;タグではさまれたタグやテキストは、変換せずに<b>そのまま</b><span class="note"><a href="#doc1_1187" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="変換しませんので注意が必要です"><sup>(14)</sup></a></span>出力します。必須の属性としてlangがあります。lang属性を指定することによって、例えば、<b>「HDML機の場合のみ出力させる」</b>といったことを可能にします。<br></br><br></br>ex)</p>  <p>&lt;CHXJ:IF&gt;タグと&lt;/CHXJ:IF&gt;タグではさまれたタグやテキストは、変換せずに<b>そのまま</b><span class="note"><a href="#doc1_1106" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="変換しませんので注意が必要です"><sup>(6)</sup></a></span>出力します。必須の属性としてlangがあります。lang属性を指定することによって、例えば、<b>「HDML機の場合のみ出力させる」</b>といったことを可能にします。<br></br><br></br>ex)</p>
1474    
1475  <div id="doc1_1197" class="caption">HTML文書中にHDML機の場合のみ有効にしたいタグ、または文書がある場合</div>  <div id="doc1_1116" class="caption">HTML文書中にHDML機の場合のみ有効にしたいタグ、または文書がある場合</div>
1476  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1477         &lt;CHXJ:IF lang=&quot;HDML&quot; &gt;         &lt;CHXJ:IF lang=&quot;HDML&quot; &gt;
1478           &lt;NODISPLAY&gt;           &lt;NODISPLAY&gt;
# Line 1522  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1486  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1486  <p><br></br></p>  <p><br></br></p>
1487  <p>ex)</p>  <p>ex)</p>
1488    
1489  <div id="doc1_1201" class="caption">i-Modeのみ出力したい文書がある場合</div>  <div id="doc1_1120" class="caption">i-Modeのみ出力したい文書がある場合</div>
1490  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1491         &lt;CHXJ:IF lang=&quot;chtml&quot; &gt;         &lt;CHXJ:IF lang=&quot;chtml&quot; &gt;
1492           シークレットコードがどーのこーの。           シークレットコードがどーのこーの。
# Line 1533  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1497  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1497  <p><br></br></p>  <p><br></br></p>
1498  <p>また、lang属性は、複数指定することも可能です。<br></br></p>  <p>また、lang属性は、複数指定することも可能です。<br></br></p>
1499    
1500  <div id="doc1_1207" class="caption">HDML機,J-PHONE機は以下を出力します</div>  <div id="doc1_1126" class="caption">HDML機,J-PHONE機は以下を出力します</div>
1501  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1502         &lt;CHXJ:IF lang=&quot;chtml&quot; lang=&quot;jhtml&quot;&gt;         &lt;CHXJ:IF lang=&quot;chtml&quot; lang=&quot;jhtml&quot;&gt;
1503         あなたの携帯は、HDML機かJ-HTML機です。         あなたの携帯は、HDML機かJ-HTML機です。
# Line 1546  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1510  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1510    
1511  <div class="footnote">  <div class="footnote">
1512  <ol>  <ol>
1513  <li id="doc1_1187" value="14"> 変換しませんので注意が必要です</ol>  <li id="doc1_1106" value="6"> 変換しませんので注意が必要です</ol>
1514  </div>  </div>
1515    
1516    
1517  <h2 id="doc1_1214">文字コードについて</h2>  <h2 id="doc1_1133">絵文字について</h2>
1518    
1519  <p class="first_ja">サーバサイドコンテンツについてはShift_JIS(CP932)、EUCJP-WIN(Win外字対応のEUCJP)、UTF-8のどれかで記述することが可能です。Shift_JISで記述した場合は絵文字についてもShift_JISで、EUCJP-WINで記述した場合は絵文字についてもEUCJP-WINで、UTF-8で記述した場合は絵文字についてもUTF-8で記述します。<span class="note"><a href="#doc1_1216" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="詳細は「絵文字について」の項を参照のこと"><sup>(15)</sup></a></span>クライアントサイド(端末側)に送信する文字コードはShift_JISまたはUTF-8を指定することが可能です。<span class="note"><a href="#doc1_1219" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="指定方法については「デバイス定義」の項を参照のこと。"><sup>(16)</sup></a></span>mod_chxjによりサーバサイドコンテンツの文字コードから端末に送信する文字コードへと絵文字も含めて変換します。POST/GET中のデータについても端末側文字コードからサーバサイドコンテンツの文字コードへと絵文字も含めて変換します。</p>  <p class="first_ja">i-Mode用の絵文字を書いておけば、アクセスしたキャリアによって、mod_chxjが対応の絵文字に自動変換します。ソースに2byteのバイナリコードを直接書いても、10進参照文字列<span class="note"><a href="#doc1_1135" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="16進参照文字列には対応していません"><sup>(7)</sup></a></span>(&amp;#XXX;の形)で書いても、どちらでも変換対象になります。10進参照文字列で書いた場合は、mod_chxjにより、自動で2バイトコードに変換します。</p>
   
 <ol>  
 <li> 注意: Shift_JISでサーバサイドコンテンツを記述した場合はPOST/GETデータもShift_JISでサーバサイドコンテンツに渡されます。  
 <li> 注意: EUCJP-WINでサーバサイドコンテンツを記述した場合はPOST/GETデータもEUCJP-WINでサーバサイドコンテンツに渡されます。  
 <li> 注意: UTF-8でサーバサイドコンテンツを記述した場合はPOST/GETデータもUTF-8でサーバサイドコンテンツに渡されます。  
 <li> 注意:本変換機能は1.0.0以降から</ol>  
   
 <p>サーバサイドコンテンツの文字コードはChxjConvRuleディレクティブで指定した文字コードになります。ChxjConvRuleにて矛盾が生じない限り、文字コードの混在も可能です。</p>  
   
 <div class="footnote">  
 <ol>  
 <li id="doc1_1216" value="15"> 詳細は「絵文字について」の項を参照のこと<li id="doc1_1219" value="16"> 指定方法については「デバイス定義」の項を参照のこと。</ol>  
 </div>  
   
   
 <h2 id="doc1_1243">絵文字について</h2>  
   
 <p class="first_ja">i-Mode用の絵文字を書いておけば、アクセスしたキャリアによって、mod_chxjが対応の絵文字に自動変換します。ソースに2byteのバイナリコードを直接書いても、10進参照文字列(&amp;#XXX;の形)、16進参照文字列(&amp;#xXXX;の形)で書いても、変換対象になります。10進参照文字列、16進参照文字列はmod_chxjにより自動で2バイトコードに変換されます。<span class="note"><a href="#doc1_1245" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="コンテンツをSJISで記述する場合には絵文字もSJISで、コンテンツをEUCJP-WINで記述する場合には絵文字もEUCJP-WINで、UTF-8で記述する場合には絵文字もUTF-8で記述する必要があります"><sup>(17)</sup></a></span></p>  
1520    
1521  <div class="footnote">  <div class="footnote">
1522  <ol>  <ol>
1523  <li id="doc1_1245" value="17"> コンテンツをSJISで記述する場合には絵文字もSJISで、コンテンツをEUCJP-WINで記述する場合には絵文字もEUCJP-WINで、UTF-8で記述する場合には絵文字もUTF-8で記述する必要があります</ol>  <li id="doc1_1135" value="7"> 16進参照文字列には対応していません</ol>
1524  </div>  </div>
1525    
1526    
1527  <h3 id="doc1_1248">絵文字変換定義</h3>  <h3 id="doc1_1138">絵文字変換定義</h3>
1528    
1529  <p class="first_ja">絵文字の変換に関する動作を変えたい場合(例えば「ハートがあったら、AUの場合はスペードに」とか、「変換定義がおかしい」といった場合)は、emoji.xmlファイルを直接編集することによって定義を変更することが可能です。emoji.xmlはXMLファイルとなっていますので、人によってはvi等で簡単に定義を変更することができるかもしれません。</p>  <p class="first_ja">絵文字の変換に関する動作を変えたい場合(例えば「ハートがあったら、AUの場合はスペードに」とか、「変換定義がおかしい」といった場合)は、emoji.xmlファイルを直接編集することによって定義を変更することが可能です。emoji.xmlはXMLファイルとなっていますので、vi等で簡単に定義を変更することができます<span class="note"><a href="#doc1_1140" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="厳密にはXMLになっていないので、日本語の記述はSJISでお願いします。"><sup>(8)</sup></a></span>。</p>
1530  <p>emoji.xmlは3つのパートに分かれています。1つ目はDoCoMo→DoCoMo/au/SoftBankの変換定義部。2つ目はau→DoCoMoの変換定義部。3つ目はSoftBank→DoCoMoの変換定義部。1つ目はサーバサイドコンテンから各キャリアの絵文字に変換する際に使用されます。2つ目と3つ目はPOST/GETデータの変換に使用されます。</p>  <p><br></br>以下に、emoji.xmlファイルの一部を記します。</p>
 <p><br></br></p>  
   
 <h3 id="doc1_1255">DoCoMo→DoCoMo/au/SoftBank変換定義</h3>  
   
 <p class="first_ja">以下に、emoji.xmlファイルの1つ目のパート、DoCoMo→DoCoMo/au/SoftBankの変換定義部を記します。</p>  
1531    
1532  <div id="doc1_1257" class="caption">emoji.xml</div>  <div id="doc1_1145" class="caption">emoji.xml</div>
1533  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1534    &lt;?xml encoding=&quot;Shift_JIS&quot; &gt;
1535    
1536  &lt;emoji&gt;  &lt;emoji&gt;
1537    &lt;set&gt;    &lt;set&gt;
1538      &lt;no&gt;1&lt;/no&gt;      &lt;no&gt;1&lt;/no&gt;
1539      &lt;imode&gt;      &lt;imode&gt;
1540        &lt;sjis-hex&gt;f89f&lt;/sjis-hex&gt;        &lt;hex1&gt;f8&lt;/hex1&gt;
1541        &lt;sjis-dec&gt;63647&lt;/sjis-dec&gt;        &lt;hex2&gt;9f&lt;/hex2&gt;
1542        &lt;eucjp-hex&gt;8ffca1&lt;/eucjp-hex&gt;        &lt;string&gt;&amp;#63647;&lt;/string&gt;
1543        &lt;eucjp-dec&gt;9436321&lt;/eucjp-dec&gt;        &lt;description&gt;&lt;/description&gt;
       &lt;unicode-hex&gt;e63e&lt;/unicode-hex&gt;  
       &lt;unicode-dec&gt;58942&lt;/unicode-dec&gt;  
       &lt;utf8-hex&gt;ee98be&lt;/utf8-hex&gt;  
       &lt;utf8-dec&gt;15636670&lt;/utf-dec&gt;  
       &lt;description&gt;晴れ&lt;/description&gt;  
1544      &lt;/imode&gt;      &lt;/imode&gt;
1545      &lt;ezweb&gt;      &lt;ezweb&gt;
1546        &lt;A&gt;        &lt;A&gt;44&lt;/A&gt;
1547          &lt;no&gt;44&lt;/no&gt;        &lt;B&gt;44&lt;/B&gt;
1548          &lt;sjis-hex&gt;f660&lt;/sjis-hex&gt;        &lt;C&gt;44&lt;/C&gt;
1549          &lt;sjis-dec&gt;63072&lt;/sjis-dec&gt;        &lt;D&gt;44&lt;/D&gt;
         &lt;unicode-hex&gt;e488&lt;/unicode-hex&gt;  
         &lt;unicode-dec&gt;58504&lt;/unicode-dec&gt;  
         &lt;utf8-hex&gt;eebda0&lt;/utf8-hex&gt;  
         &lt;utf8-dec&gt;15646112&lt;/utf-dec&gt;  
       &lt;/A&gt;  
       &lt;B&gt;  
         &lt;no&gt;44&lt;/no&gt;  
         &lt;sjis-hex&gt;f660&lt;/sjis-hex&gt;  
         &lt;sjis-dec&gt;63072&lt;/sjis-dec&gt;  
         &lt;unicode-hex&gt;e488&lt;/unicode-hex&gt;  
         &lt;unicode-dec&gt;58504&lt;/unicode-dec&gt;  
         &lt;utf8-hex&gt;eebda0&lt;/utf8-hex&gt;  
         &lt;utf8-dec&gt;15646112&lt;/utf-dec&gt;  
       &lt;/B&gt;  
       &lt;C&gt;  
         &lt;no&gt;44&lt;/no&gt;  
         &lt;sjis-hex&gt;f660&lt;/sjis-hex&gt;  
         &lt;sjis-dec&gt;63072&lt;/sjis-dec&gt;  
         &lt;unicode-hex&gt;e488&lt;/unicode-hex&gt;  
         &lt;unicode-dec&gt;58504&lt;/unicode-dec&gt;  
         &lt;utf8-hex&gt;eebda0&lt;/utf8-hex&gt;  
         &lt;utf8-dec&gt;15646112&lt;/utf-dec&gt;  
       &lt;/C&gt;  
       &lt;D&gt;  
         &lt;no&gt;44&lt;/no&gt;  
         &lt;sjis-hex&gt;f660&lt;/sjis-hex&gt;  
         &lt;sjis-dec&gt;63072&lt;/sjis-dec&gt;  
         &lt;unicode-hex&gt;e488&lt;/unicode-hex&gt;  
         &lt;unicode-dec&gt;58504&lt;/unicode-dec&gt;  
         &lt;utf8-hex&gt;eebda0&lt;/utf8-hex&gt;  
         &lt;utf8-dec&gt;15646112&lt;/utf-dec&gt;  
       &lt;/D&gt;  
1550      &lt;/ezweb&gt;      &lt;/ezweb&gt;
1551      &lt;softbank&gt;      &lt;jphone&gt;
1552        &lt;no&gt;74&lt;/no&gt;        &lt;string&gt;$Gj&lt;/string&gt;
1553        &lt;sjis-hex&gt;476a&lt;/sjis-hex&gt;      &lt;/jphone&gt;
       &lt;sjis-dec&gt;116572776975&lt;/sjis-dec&gt;  
       &lt;unicode-hex&gt;e04a&lt;/unicode-hex&gt;  
       &lt;unicode-dec&gt;57418&lt;/unicode-dec&gt;  
       &lt;utf8-hex&gt;ee818a&lt;/utf8-hex&gt;  
       &lt;utf8-dec&gt;15630730&lt;/utf-dec&gt;  
     &lt;/softbank&gt;  
1554    &lt;/set&gt;    &lt;/set&gt;
      ・  
      ・  
      ・  
      ・  
 &lt;/emoji&gt;  
1555  </pre>  </pre>
1556    
1557  <p>絵文字の定義は、&lt;emoji&gt;タグから&lt;/emoji&gt;タグまでの間にあります。その中の要素を説明します。1つの絵文字につき、1つのセット(&lt;set&gt;タグから&lt;/set&gt;タグまで)とし、キャリア毎の絵文字を定義しています。合計176セットあります。</p>  <p>絵文字の定義は、&lt;emoji&gt;タグから&lt;/emoji&gt;タグまでの間にあります。その中の要素を説明します。1つの絵文字につき、1つのセット(&lt;set&gt;タグから&lt;/set&gt;タグまで)とし、キャリア毎の絵文字を定義しています。</p>
1558    
1559  <ol>  <ol>
1560  <li> &lt;imode&gt;要素<br></br>まず、元となるi-Mode用の絵文字は、&lt;imode&gt;タグにはさまれた間に定義されています。&lt;imode&gt;要素は子にsjis、eucjp、utf8、unicodeのそれぞれ16進と10進表記データを保持します。sjis-hexはShift_JISコードの16進表記、sjis-decはShift_JISコードの10進表記、eucjp-hexはEUCJP-WINの16進表記、eucjp-decはEUCJP-WINの10進表記、utf8-hexはUTF-8の16進表記、utf8-decはUTF-8の10進表記、unicode-hexはUNICODEの16進表記、unicode-decはUNICODEの10進表記となります。サーバサイドコンテンツがSJISで記述されている場合はimode要素のsjis-hex、sjis-decを参照します。同様にがEUCJP-WINで記述されている場合はimode要素のeucjp-hex、eucjp-decを参照します。UTF-8で記述されている場合はimode要素のutf8-hex、utf8-decを参照します。<br></br>サーバサイドコンテンツのマッチするコードがimode要素の中に存在すれば、変換は同一set内のデータを使用して行われます。  <li> &lt;imode&gt;要素<br></br>まず、元となるi-Mode用の絵文字は、&lt;imode&gt;タグにはさまれた間に定義されています。&lt;imode&gt;要素は、2バイトコード要素(&lt;hex1&gt;&lt;hex2&gt;)と、10進参照文字列要素(&lt;string&gt;)を保持していて、この2つの要素を変換元の値として使用します。アクセスしてきた端末が、i-Mode機であった場合で、かつCHTML中に10進参照文字列が絵文字として書かれている場合には、&lt;hex1&gt;&lt;hex2&gt;要素に定義されている値に置換します。
1561  <br></br><br></br><li> &lt;ezweb&gt;要素<br></br>アクセスしてきた端末が、AU機であった場合、&lt;ezweb&gt;要素に定義されている値に変換します。&lt;ezweb&gt;要素は、&lt;A&gt;〜&lt;D&gt;要素を持っていて、それぞれAUの絵文字タイプA〜Dに対応していますので、もし、Dタイプの絵文字端末であったなら、&lt;D&gt;要素の&lt;no&gt;に定義されている値に変換します。ここで定義されている値は、HDML機の場合は、<b>&lt;IMG ICON=&quot;XX&quot;&gt;</b>の&quot;XX&quot;の部分に当てはめられて、置換されます。XHTML機の場合は、<b>&lt;IMG LOCALSRC=&quot;XX&quot;&gt;</b>の&quot;XX&quot;の部分に当てはめられて、置換されます。同要素にはsjis-hex、sjis-dec、unicode-hex、unicode-dec、utf8-hex、utf8-decが有りますが、今のところ使用していません。  <br></br><br></br><li> &lt;ezweb&gt;要素<br></br>アクセスしてきた端末が、AU機であった場合、&lt;ezweb&gt;要素に定義されている値に変換します。&lt;ezweb&gt;要素は、&lt;A&gt;〜&lt;D&gt;要素を持っていて、それぞれAUの絵文字タイプA〜Dに対応していますので、もし、Dタイプの絵文字端末であったなら、&lt;D&gt;要素に定義されている値に変換します。ここで定義されている値は、HDML機の場合は、<b>&lt;IMG ICON=&quot;XX&quot;&gt;</b>の&quot;XX&quot;の部分に当てはめられて、置換されます。XHTML機の場合は、<b>&lt;IMG LOCALSRC=&quot;XX&quot;&gt;</b>の&quot;XX&quot;の部分に当てはめられて、置換されます。
1562  <br></br><br></br><li> &lt;softbank&gt;要素<br></br>アクセスしてきた端末が、SoftBank/Vodafone/J-Phone端末であった場合、&lt;softbank&gt;要素に定義されている値に変換します。&lt;softbank&gt;要素は、上記要素と同様にsjis-hex、sjis-dec、unicode-hex、unicode-dec、utf8-hex、utf8-decを保持しています。アクセスしてきた端末にはsjisを返す場合はsjis-hex、sjis-decの値を使用します。utf8を返す場合にはutf8-hex、utf8-decでは無くunicode-hex、unicode-decを返します。SoftBank端末の場合は3G端末は基本的にUTF8を返すようにデバイス定義にて定義されています。UTF8で定義された場合でSoftBankの場合はUNICODEの参照文字列を返すようになっています。(問題回避のため)</ol>  <br></br><br></br><li> &lt;jphone&gt;要素<br></br>アクセスしてきた端末が、SoftBank/Vodafone/J-Phone端末であった場合、&lt;jphone&gt;要素に定義されている値に変換します。&lt;jphone&gt;要素は、&lt;string&gt;要素を保持していて、ここで定義されている値を直接使用します。</ol>
1563    
1564  <p><br></br>emoji.xmlに定義されていない絵文字で、変換したい絵文字がある場合には、このファイルに新たな定義を足せば、変換するようになります。<span class="note"><a href="#doc1_1295" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="同一コード領域に割り当てる必要があるかもしれません"><sup>(18)</sup></a></span></p>  <p><br></br>emoji.xmlに定義されていない絵文字で、変換したい絵文字がある場合には、このファイルに新たな定義を足せば、変換するようになります。</p>
1565    
1566  <div class="footnote">  <div class="footnote">
1567  <ol>  <ol>
1568  <li id="doc1_1295" value="18"> 同一コード領域に割り当てる必要があるかもしれません</ol>  <li id="doc1_1140" value="8"> 厳密にはXMLになっていないので、日本語の記述はSJISでお願いします。</ol>
1569  </div>  </div>
1570    
1571    
1572  <h3 id="doc1_1302">au→DoCoMo変換定義</h3>  <h2 id="doc1_1183">デバイス定義 device_data.xml</h2>
   
 <p class="first_ja">au-&gt;DoCoMo変換の定義は主にau端末からサーバサイドへのPOST/GETデータの変換に使用されます。定義はemoji.xmlファイルの&lt;ezweb2imode&gt;タグではさまれたところに定義してあります。&lt;set&gt;から&lt;/set&gt;までの間が1絵文字を表現する部分になります。<br></br>以下に、emoji.xmlファイルの2つ目のパート、au→DoCoMo変換定義を以下に記します。</p>  
   
 <div id="doc1_1306" class="caption">emoji.xml</div>  
 <pre class="program" style="margin-top:0">  
 &lt;ezweb2imode&gt;  
   &lt;set&gt;  
     &lt;no&gt;1&lt;/no&gt;  
     &lt;ezweb&gt;  
       &lt;sjis-hex&gt;F659&lt;/sjis-hex&gt;  
       &lt;utf8-hex&gt;eebd99&lt;/utf8-hex&gt;  
     &lt;/ezweb&gt;  
     &lt;imode&gt;  
       &lt;no&gt;220&lt;/no&gt;  
     &lt;/imode&gt;  
   &lt;/set&gt;  
    ・  
    ・  
    ・  
 &lt;/ezweb2imode&gt;  
 </pre>  
   
 <p><br></br></p>  
   
 <ol>  
 <li> &lt;no&gt;要素<br></br>auで定義されている絵文字番号を保持します。  
 <br></br><br></br><li> &lt;ezweb&gt;要素<br></br>&lt;no&gt;で定義された絵文字番号の実際にPOST/GETされてくる値を保持します。sjis-hexは端末がShift_JISの場合のPOST/GETデータ、utf8-hexは端末がUTF-8の場合のPOST/GETデータになっています。POST/GETされたデータはこの要素に記述されたコードとマッチングされ、マッチした場合絵文字を特定します。  
 <br></br><br></br><li> &lt;imode&gt;要素<br></br>&lt;ezweb&gt;要素でマッチした場合に参照されるEzWeb絵文字に対応するDoCoMo絵文字番号を保持します。mod_chxjによりDoCoMo絵文字に変換する場合に使用されます。  
 <br></br><br></br></ol>  
   
   
 <h3 id="doc1_1345">SoftBank→DoCoMo変換定義</h3>  
   
 <p class="first_ja">SoftBank-&gt;DoCoMo変換の定義は主にSoftBank端末からサーバサイドへのPOST/GETデータの変換に使用されます。定義はemoji.xmlファイルの&lt;softbank2imode&gt;タグではさまれたところに定義してあります。&lt;set&gt;から&lt;/set&gt;までの間が1絵文字を表現する部分になります。<br></br>以下に、emoji.xmlファイルの3つ目のパート、SoftBank→DoCoMo変換定義を以下に記します。</p>  
   
 <div id="doc1_1349" class="caption">emoji.xml</div>  
 <pre class="program" style="margin-top:0">  
 &lt;softbank2imode&gt;  
   &lt;set&gt;  
     &lt;no&gt;  
       1  
     &lt;/no&gt;  
     &lt;softbank&gt;  
       &lt;webcode&gt;  
         4721  
       &lt;/webcode&gt;  
       &lt;sjis-hex&gt;  
         f941  
       &lt;/sjis-hex&gt;  
       &lt;utf8-hex&gt;  
         ee8081  
       &lt;/utf8-hex&gt;  
     &lt;/softbank&gt;  
     &lt;imode&gt;  
       &lt;no&gt;  
         140  
       &lt;/no&gt;  
     &lt;/imode&gt;  
   &lt;/set&gt;  
    ・  
    ・  
    ・  
    ・  
 &lt;/softbank2imode&gt;  
 </pre>  
   
 <p><br></br></p>  
   
 <ol>  
 <li> &lt;no&gt;要素<br></br>SoftBankで定義されている絵文字番号を保持します。  
 <br></br><br></br><li> &lt;softbank&gt;要素<br></br>&lt;no&gt;で定義された絵文字番号の実際にPOST/GETされてくる値を保持します。webcodeは端末がShift_JISの場合でウェブコードを送信してくる場合のPOST/GETデータ、sjis-hexは端末がShift_JISの場合のPOST/GETデータ、utf8-hexは端末がUTF-8の場合のPOST/GETデータになっています。POST/GETされたデータはこの要素に記述されたコードとマッチングされ、マッチした場合絵文字を特定します。  
 <br></br><br></br><li> &lt;imode&gt;要素<br></br>&lt;ezweb&gt;要素でマッチした場合に参照されるSoftBank絵文字に対応するDoCoMo絵文字番号を保持します。mod_chxjによりDoCoMo絵文字に変換する場合に使用されます。  
 <br></br><br></br></ol>  
   
 <p><br></br><br></br></p>  
   
 <h2 id="doc1_1396">デバイス定義 device_data.xml</h2>  
1573    
1574  <p class="first_ja">mod_chxjの動作を決定付ける重要な定義です。変換対象の端末は全て、device_data.xmlファイルに定義される必要があります。定義されていない端末は、mod_chxjとしては、認識することができません。認識できない場合には、変換せずにそのまま出力します。ただし、Perl互換の正規表現によって定義できるため、正規表現の書き方によっては全ての機種に対応させることも可能です。</p>  <p class="first_ja">mod_chxjの動作を決定付ける重要な定義です。変換対象の端末は全て、device_data.xmlファイルに定義される必要があります。定義されていない端末は、mod_chxjとしては、認識することができません。認識できない場合には、変換せずにそのまま出力します。ただし、Perl互換の正規表現によって定義できるため、正規表現の書き方によっては全ての機種に対応させることも可能です。</p>
 <p><br></br></p>  
   
 <h3 id="doc1_1400">デバイス定義の要素</h3>  
   
 <p class="first_ja">まず以下にデバイス定義を記します。</p>  
   
 <div id="doc1_1402" class="caption">device_data.xml</div>  
 <pre class="program" style="margin-top:0">  
 &lt;devices&gt;  
   &lt;user_agent pattern=&quot;^KDDI-([^     ]+) UP.Browser/[^   ]+ .+&quot;&gt;  
     &lt;device&gt;  
       &lt;device_id&gt;HI21&lt;/device_id&gt;  
       &lt;device_name&gt;C3001H&lt;/device_name&gt;  
       &lt;html_spec_type&gt;XHTML_MOBILE_1_0&lt;/html_spec_type&gt;  
       &lt;width&gt;120&lt;/width&gt;  
       &lt;heigh&gt;130&lt;/heigh&gt;  
       &lt;gif&gt;true&lt;/gif&gt;  
       &lt;jpeg&gt;true&lt;/jpeg&gt;  
       &lt;png&gt;true&lt;/png&gt;  
       &lt;bmp2&gt;false&lt;/bmp2&gt;  
       &lt;bmp4&gt;false&lt;/bmp4&gt;  
       &lt;color&gt;4096&lt;/color&gt;  
       &lt;emoji_type&gt;C&lt;/emoji_type&gt;  
       &lt;wp_width&gt;120&lt;/wp_width&gt;  
       &lt;wp_heigh&gt;116&lt;/wp_heigh&gt;  
       &lt;cache&gt;9740&lt;/cache&gt;  
       &lt;dpi_width&gt;72&lt;/dpi_width&gt;  
       &lt;dpi_heigh&gt;72&lt;/dpi_heigh&gt;  
       &lt;charset&gt;SJIS&lt;/charset&gt;  
     &lt;/device&gt;  
     ・  
     ・  
     ・  
   &lt;/user_agent&gt;  
   &lt;user_agent&gt;  
     ・  
     ・  
     ・  
   &lt;/user_agent&gt;  
     ・  
     ・  
     ・  
 &lt;/devices&gt;  
 </pre>  
   
 <p>デバイス定義は&lt;devices&gt;タグに囲まれた中に記述します。devicesタグはuser_agentタグを子に持ちます。user_agentはpattern属性を保持し、端末のUser-Agentヘッダとマッチングされます。user_agentタグのpattern属性とマッチした場合には、そのuser_agentタグの子ノードであるdevice要素を1つづつ見に行きます。user_agentタグのpattern属性は正規表現となっていて、$1がデバイス識別IDになるように定義されていますので、$1とdevice_idタグの要素をマッチングします。マッチしたdeviceを該当端末とし、mod_chxjは該当端末用の変換処理を行います。</p>  
 <p><br></br>以下に各タグについての説明を記します。</p>  
   
 <ol>  
 <li> <b>devicesタグ</b><br></br>全ての要素は一組のdevicesタグに囲まれます。この中に存在する要素がデバイス定義になります。<br></br><br></br>  
 <li> <b>user_agentタグ</b><br></br>User-Agentのパターンとそのパターンにマッチするdeviceを子ノードに持ちます。<br></br>pattern属性にはUser-AgentとマッチさせるPerl互換の正規表現を指定します<br></br>仮に&quot;KDDI-CA31 UP.Browser/・・・&quot;というUser-Agentを保持する端末からのアクセスがあった場合は、&lt;user_agent pattern=&quot;^KDDI-([^ ]+) UP.Browser/[^ ]+ .+&quot;&gt;にマッチしますが、&lt;user_agent pattern=&quot;^UP.Browser/[^\-]+-([^ ]+) .+&quot; &gt;にはマッチしません。よってmod_chxjは&lt;user_agent pattern=&quot;^KDDI-([^ ]+) UP.Browser/[^ ]+ .+&quot;&gt;の子ノードを処理対象と判断します。<br></br>pattern属性の要素である正規表現には必ず$1で後方参照できるようグルーピングが必要です。$1で後方参照する値は以下に記すdevice_idタグの値と比較されます。device_idとの比較の結果、等しい値であればそのdevice_idを保持するdeviceタグが該当端末として選択されます。<br></br>user_agentタグレベルではマッチしているもののdevice_idが期待する値を持っていない場合は、user_agentタグ中の最後のdeviceが選択されます。<br></br><br></br>  
 <li> <p><b>deviceタグ</b><br></br>一台の端末を表現します。<br></br>子ノードとして以下を保持します。<br></br></p>  
   
 <ol>  
 <li> device_id  
 <li> device_name  
 <li> html_spec_type  
 <li> width  
 <li> height  
 <li> gif  
 <li> jpeg  
 <li> png  
 <li> bmp2  
 <li> bmp4  
 <li> color  
 <li> emoji_type  
 <li> wp_width  
 <li> wp_height  
 <li> cache  
 <li> dpi_width  
 <li> dpi_height  
 <li> charset</ol>  
   
 <p><br></br><br></br></p>  
 <li> <b>device_idタグ</b><br></br>user_agentタグのpattern属性により生成された$1により後方参照される値と比較される値を保持します。通常DoCoMoであればUser-Agentの「機種名」部、auであればUser-Agentの「デバイスID」部、SoftBankであれば、User-Agentの「機種名」部を記述します。  
 <div id="doc1_1512" class="caption">例</div>  
 <pre class="program" style="margin-top:0">  
       &lt;!-- DoCoMo F905iの場合 --&gt;  
       &lt;device_id&gt;F905i&lt;/device_id&gt;  
   
       &lt;!-- au W54Tの場合 --&gt;  
       &lt;device_id&gt;TS3E&lt;/device_id&gt;  
   
       &lt;!-- SoftBank 822SHの場合 --&gt;  
       &lt;device_id&gt;822SH&lt;/device_id&gt;  
       
 </pre>  
 <li> <b>device_nameタグ</b><br></br>mod_chxjでは本値をデバッグログ出力時にのみ使用します、人が見てわかりやすい名前を入力しておきます。device_idと混同しないように注意します。  
 <div id="doc1_1521" class="caption">au W21CAの例</div>  
 <pre class="program" style="margin-top:0">  
       &lt;device_name&gt;W21CA&lt;/device_name&gt;  
       
 </pre>  
 <li> <b>html_spec_typeタグ</b><br></br>端末のサポートするHTMLタイプを指定します。本タグの値によりHTML変換結果が変わります。指定できる値は以下のとおりです。大文字、小文字は区別しません。  
 <div class="table">  
 <table id="doc1_1530" class="data" rules="groups">  
 <caption>対応HTMLタイプ一覧</caption>  
 <colgroup span="2">  
 <col>  
 <col>  
 </colgroup>  
 <thead>  
 <tr class="even">  
 <td>値</td>  
 <td>意味</td>  
 </tr>  
 </thead>  
 <tbody>  
 <tr class="even">  
 <td>CHTML_1_0</td>  
 <td>CHTML1.0対応機種の場合記述します。HTML変換結果はCHTML1.0になります。</td>  
 </tr>  
 <tr class="odd">  
 <td>CHTML_2_0</td>  
 <td>CHTML2.0対応機種の場合記述します。HTML変換結果はCHTML2.0になります。</td>  
 </tr>  
 <tr class="even">  
 <td>CHTML_3_0</td>  
 <td>CHTML3.0対応機種の場合記述します。HTML変換結果はCHTML3.0になります。</td>  
 </tr>  
 <tr class="odd">  
 <td>CHTML_4_0</td>  
 <td>CHTML4.0対応機種の場合記述します。HTML変換結果はCHTML4.0になります。(0.9.0時点ではCHTML3.0と同じ)</td>  
 </tr>  
 <tr class="even">  
 <td>CHTML_5_0</td>  
 <td>CHTML5.0対応機種の場合記述します。HTML変換結果はCHTML5.0になります。(0.9.0時点ではCHTML3.0と同じ)</td>  
 </tr>  
 <tr class="odd">  
 <td>CHTML_6_0</td>  
 <td>CHTML6.0対応機種の場合記述します。HTML変換結果はCHTML6.0になります。(0.9.0時点ではCHTML3.0と同じ)</td>  
 </tr>  
 <tr class="even">  
 <td>CHTML_7_0</td>  
 <td>CHTML7.0対応機種の場合記述します。HTML変換結果はCHTML7.0になります。(0.9.0時点ではCHTML3.0と同じ)</td>  
 </tr>  
 <tr class="odd">  
 <td>XHTML_MOBILE_1_0</td>  
 <td>auのXHTML対応機種の場合に記述します。HTML変換結果はXHTMLになります。</td>  
 </tr>  
 <tr class="even">  
 <td>HDML</td>  
 <td>auのHDML対応機種の場合に記述します。HTML変換結果はHDMLになります。</td>  
 </tr>  
 <tr class="odd">  
 <td>JHTML</td>  
 <td>SoftBankの端末の場合に記述します。HTML変換結果はSoftBank用HTMLになります。</td>  
 </tr>  
 </tbody>  
 </table>  
 </div>  
 <li> <b>widthタグ</b><br></br>端末の横幅を指定します。  
 <li> <b>heightタグ</b><br></br>端末の縦幅を指定します。  
 <li> <b>gifタグ</b><br></br>端末がgif画像を表示することができる場合(サポートしている場合)はtrueを指定します。表示できない(サポートしていない)場合はfalseを指定します。<span class="note"><a href="#doc1_1656" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="大文字、小文字の区別なし"><sup>(19)</sup></a></span>  
 <li> <b>jpegタグ</b><br></br>端末がjpeg画像を表示することができる場合(サポートしている場合)はtrueを指定します。表示できない(サポートしていない)場合はfalseを指定します。<span class="note"><a href="#doc1_1665" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="大文字、小文字の区別なし"><sup>(20)</sup></a></span>  
 <li> <b>pngタグ</b><br></br>端末がpng画像を表示することができる場合(サポートしている場合)はtrueを指定します。表示できない(サポートしていない)場合はfalseを指定します。<span class="note"><a href="#doc1_1674" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="大文字、小文字の区別なし"><sup>(21)</sup></a></span>  
 <li> <b>bmp2タグ</b><br></br>端末がbmp2画像を表示することができる場合(サポートしている場合)はtrueを指定します。表示できない(サポートしていない)場合はfalseを指定します。<span class="note"><a href="#doc1_1683" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="大文字、小文字の区別なし"><sup>(22)</sup></a></span>通常はfalse。  
 <li> <b>bmp4タグ</b><br></br>端末がbmp4画像を表示することができる場合(サポートしている場合)はtrueを指定します。表示できない(サポートしていない)場合はfalseを指定します。<span class="note"><a href="#doc1_1692" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="大文字、小文字の区別なし"><sup>(23)</sup></a></span>通常はfalse。  
 <li> <b>colorタグ</b><br></br>端末の表示可能色数。  
 <li> <p><b>emoji_typeタグ</b><br></br>auの場合に指定します。au以外の場合は指定しても意味はありません。<br></br>設定できる値は以下のとおり。</p>  
   
 <div class="table">  
 <table id="doc1_1709" class="data" rules="groups">  
 <caption>emoji_typeに設定できる値</caption>  
 <colgroup span="2">  
 <col>  
 <col>  
 </colgroup>  
 <thead>  
 <tr class="even">  
 <td>値</td>  
 <td>意味</td>  
 </tr>  
 </thead>  
 <tbody>  
 <tr class="even">  
 <td>A</td>  
 <td>図柄タイプAをサポートしている場合に指定します。</td>  
 </tr>  
 <tr class="odd">  
 <td>B</td>  
 <td>図柄タイプBをサポートしている場合に指定します。</td>  
 </tr>  
 <tr class="even">  
 <td>C</td>  
 <td>図柄タイプCをサポートしている場合に指定します。</td>  
 </tr>  
 <tr class="odd">  
 <td>D</td>  
 <td>図柄タイプDをサポートしている場合に指定します。</td>  
 </tr>  
 </tbody>  
 </table>  
 </div>  
   
 <p><span class="note"><a href="#doc1_1763" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="大文字、小文字の区別なし"><sup>(24)</sup></a></span></p>  
 <li> <b>wp_widthタグ</b><br></br>壁紙の横幅を指定します。Mode=WPで画像生成する場合、この値が使用されます。  
 <li> <b>wp_heightタグ</b><br></br>壁紙の縦幅を指定します。Mode=WPで画像生成する場合、この値が使用されます。  
 <li> <b>cacheタグ</b><br></br>ブラウザのキャッシュサイズを指定します。  
 <li> <b>dpi_widthタグ</b><br></br>端末の解像度。  
 <li> <b>dpi_heightタグ</b><br></br>端末の解像度。  
 <li> <b>charsetタグ(0.9.0にて追加)</b><br></br>端末に送信する文字コードを指定します。指定できる値はSJISかUTF-8のみ。</ol>  
   
 <p><br></br></p>  
   
 <div class="footnote">  
 <ol>  
 <li id="doc1_1656" value="19"> 大文字、小文字の区別なし<li id="doc1_1665" value="20"> 大文字、小文字の区別なし<li id="doc1_1674" value="21"> 大文字、小文字の区別なし<li id="doc1_1683" value="22"> 大文字、小文字の区別なし<li id="doc1_1692" value="23"> 大文字、小文字の区別なし<li id="doc1_1763" value="24"> 大文字、小文字の区別なし</ol>  
 </div>  
   
 <p><br></br></p>  
1575    
1576  <h2 id="doc1_1810">イメージ画像変換機能</h2>  <h2 id="doc1_1186">イメージ画像変換機能</h2>
1577    
1578  <p class="first_ja">mod_chxjには、JPEG、GIF、PNG、BMPファイルを置いておくだけで、デバイス定義に従って、それぞれのキャリア対応のフォーマットに変換する機能があります。画像のサイズ(縦X横)も、端末の画面サイズに合わせて変換します。画像のサイズ(バイト数)については、デバイス定義中のキャッシュサイズを見て、その値よりも小さくなるように<b>努力</b>しますが、元の画像が大きすぎる場合や、複雑な画像の場合には、キャッシュサイズよりも小さくできずに表示できない場合があります。<br></br>それぞれのタグで指定する場合には、ファイル名の拡張子(.jpgや.gif等)をはずした形で指定します。<br></br>本機能には3つのモードが存在します。そのモードを以下に記します。</p>  <p class="first_ja">mod_chxjには、JPEG、GIF、PNG、BMPファイルを置いておくだけで、デバイス定義に従って、それぞれのキャリア対応のフォーマットに変換する機能があります。画像のサイズ(縦X横)も、端末の画面サイズに合わせて変換します。画像のサイズ(バイト数)については、デバイス定義中のキャッシュサイズを見て、その値よりも小さくなるように<b>努力</b>しますが、元の画像が大きすぎる場合や、複雑な画像の場合には、キャッシュサイズよりも小さくできずに表示できない場合があります。<br></br>それぞれのタグで指定する場合には、ファイル名の拡張子(.jpgや.gif等)をはずした形で指定します。<br></br>本機能には3つのモードが存在します。そのモードを以下に記します。</p>
1579    
1580  <h3 id="doc1_1819">サムネイルモード</h3>  <h3 id="doc1_1195">サムネイルモード</h3>
1581    
1582  <p class="first_ja">端末側画面サイズの約3分の1程度のサイズ(縦X横)に画像を縮小表示します。</p>  <p class="first_ja">端末側画面サイズの約3分の1程度のサイズ(縦X横)に画像を縮小表示します。</p>
1583    
1584  <div id="doc1_1821" class="caption">サムネイルモード 使用例</div>  <div id="doc1_1197" class="caption">サムネイルモード 使用例</div>
1585  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1586    &lt;IMG SRC=&quot;/img/logo?Mode=Thumbnail&quot;&gt;    &lt;IMG SRC=&quot;/img/logo?Mode=Thumbnail&quot;&gt;
1587        
1588  </pre>  </pre>
1589    
1590    
1591  <h3 id="doc1_1825">壁紙モード</h3>  <h3 id="doc1_1201">壁紙モード</h3>
1592    
1593  <p class="first_ja">端末側画面のサイズにマッチするサイズに拡大・縮小します。横長の画像の場合には、縦幅を合わせた後に左右をトリミングします。</p>  <p class="first_ja">端末側画面のサイズにマッチするサイズに拡大・縮小します。横長の画像の場合には、縦幅を合わせた後に左右をトリミングします。</p>
1594    
1595  <div id="doc1_1827" class="caption">壁紙モード 使用例</div>  <div id="doc1_1203" class="caption">壁紙モード 使用例</div>
1596  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1597    &lt;IMG SRC=&quot;/img/logo?Mode=WP&quot;&gt;    &lt;IMG SRC=&quot;/img/logo?Mode=WP&quot;&gt;
1598        
1599  </pre>  </pre>
1600    
1601    
1602  <h3 id="doc1_1831">EzGetモード</h3>  <h3 id="doc1_1207">EzGetモード</h3>
1603    
1604  <p class="first_ja">壁紙ダウンロードを行いたい場合に使用します。EzGETモードは、壁紙モードで出力される画像サイズと同一サイズの画像が使用されます。</p>  <p class="first_ja">壁紙ダウンロードを行いたい場合に使用します。EzGETモードは、壁紙モードで出力される画像サイズと同一サイズの画像が使用されます。</p>
1605    
1606  <div id="doc1_1833" class="caption">EzGetモード 使用例</div>  <div id="doc1_1209" class="caption">EzGetモード 使用例</div>
1607  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1608    &lt;A HREF=&quot;/img/logo?Mode=EzGet&quot;&gt;    &lt;A HREF=&quot;/img/logo?Mode=EzGet&quot;&gt;
1609        
1610  </pre>  </pre>
1611    
1612    
1613  <h3 id="doc1_1837">その他の機能</h3>  <h3 id="doc1_1213">その他の機能</h3>
1614    
1615  <p class="first_ja">モードの他に、画像サイズ(縦X横)を直接指定することも可能です。<b>w</b>パラメータ、<b>h</b>パラメータを使用して指定します。</p>  <p class="first_ja">モードの他に、画像サイズ(縦X横)を直接指定することも可能です。<b>w</b>パラメータ、<b>h</b>パラメータを使用して指定します。</p>
1616    
# Line 2011  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1618  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1618  <li> wパラメータ<br></br>横幅を指定します。  <li> wパラメータ<br></br>横幅を指定します。
1619  <li> hパラメータ<br></br>縦幅を指定します。  <li> hパラメータ<br></br>縦幅を指定します。
1620    
1621  <div id="doc1_1857" class="caption">w/hパラメータ 使用例</div>  <div id="doc1_1233" class="caption">w/hパラメータ 使用例</div>
1622  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1623    &lt;IMG SRC=&quot;/img/logo?w=100&amp;h=200&quot;&gt;    &lt;IMG SRC=&quot;/img/logo?w=100&amp;h=200&quot;&gt;
1624        
# Line 2021  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1628  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1628    
1629  <p>上記全てのモード、パラメータはGETリクエストとしてのみ使用できます。</p>  <p>上記全てのモード、パラメータはGETリクエストとしてのみ使用できます。</p>
1630    
1631  <h2 id="doc1_1868">QRコード出力機能</h2>  <h2 id="doc1_1244">QRコード出力機能</h2>
1632    
1633    
1634  <h3 id="doc1_1870">QRコード出力ハンドラの登録</h3>  <h3 id="doc1_1246">QRコード出力ハンドラの登録</h3>
1635    
1636  <p class="first_ja">QRコード出力機能を使用するには、QRコードハンドラを登録します。httpd.confに以下の記述を追加します。</p>  <p class="first_ja">QRコード出力機能を使用するには、QRコードハンドラを登録します。httpd.confに以下の記述を追加します。</p>
1637    
1638  <div id="doc1_1872" class="caption">httpd.conf</div>  <div id="doc1_1248" class="caption">httpd.conf</div>
1639  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1640    AddHandler chxj-qrcode .qrc    AddHandler chxj-qrcode .qrc
1641  </pre>  </pre>
1642    
1643  <p>なお、ハンドラを登録しないでも、出力フィルターを経由させることで、QRコードを出力させることも可能です。(※QRコードの動的出力を参照)</p>  <p>なお、ハンドラを登録しないでも、出力フィルターを経由させることで、QRコードを出力させることも可能です。(※QRコードの動的出力を参照)</p>
1644    
1645  <h3 id="doc1_1876">QRコードソースファイルの設置</h3>  <h3 id="doc1_1252">QRコードソースファイルの設置</h3>
1646    
1647  <p class="first_ja">ハンドラを登録したら、その登録した拡張子を持つファイルを用意します。</p>  <p class="first_ja">ハンドラを登録したら、その登録した拡張子を持つファイルを用意します。</p>
1648    
1649  <div id="doc1_1878" class="caption">例:a.qrc</div>  <div id="doc1_1254" class="caption">例:a.qrc</div>
1650  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1651    &lt;?xml version=1.0 ?&gt;    &lt;?xml version=1.0 ?&gt;
1652        
# Line 2062  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1669  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1669  <li> dataタグdataタグは、QRコードに出力するデータを指定します。改行した場合は、改行文字もQRコード内に符号化されます。</ol>  <li> dataタグdataタグは、QRコードに出力するデータを指定します。改行した場合は、改行文字もQRコード内に符号化されます。</ol>
1670    
1671    
1672  <h3 id="doc1_1900">QRコードの動的出力機能</h3>  <h3 id="doc1_1276">QRコードの動的出力機能</h3>
1673    
1674  <p class="first_ja">プログラム等を使用し、動的にQRコードを出力したい場合は、上記の.qrcファイルの内容をそのままOutputFilterに通してあげればOKです。つまり、ChxjConvertRuleディレクティブで&quot;EngineOn&quot;と指定したURIが指すディレクトリに設置すれば良いということです。mod_chxj内部で、Content-Typeがtext/xmlの場合、QRCode用のファイルであるかどうかを一度読み込んで判断するので、Content-Typeには、text/xmlを設定してください。</p>  <p class="first_ja">プログラム等を使用し、動的にQRコードを出力したい場合は、上記の.qrcファイルの内容をそのままOutputFilterに通してあげればOKです。つまり、ChxjConvertRuleディレクティブで&quot;EngineOn&quot;と指定したURIが指すディレクトリに設置すれば良いということです。mod_chxj内部で、Content-Typeがtext/xmlの場合、QRCode用のファイルであるかどうかを一度読み込んで判断するので、Content-Typeには、text/xmlを設定してください。</p>
1675    
1676  <div id="doc1_1902" class="caption">phpでQRコードを動的に出力する例</div>  <div id="doc1_1278" class="caption">phpでQRコードを動的に出力する例</div>
1677  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1678      &lt;php      &lt;php
1679        $version = $_POST[&quot;version&quot;];        $version = $_POST[&quot;version&quot;];
# Line 2090  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1697  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1697    
1698  <p>そして、上記のコードを、mod_chxj変換エンジンが処理するはずであるところに設置すれば完了です。</p>  <p>そして、上記のコードを、mod_chxj変換エンジンが処理するはずであるところに設置すれば完了です。</p>
1699    
1700  <h2 id="doc1_1907">Cookieシミュレート機能(EXPERIMENTAL)</h2>  <h2 id="doc1_1283">Cookieシミュレート機能(EXPERIMENTAL)</h2>
1701    
1702    
1703  <h3 id="doc1_1909">Cookieシミュレート機能(EXPERIMENTAL)</h3>  <h3 id="doc1_1285">Cookieシミュレート機能(EXPERIMENTAL)</h3>
1704    
1705  <p class="first_ja">Cookieを受け付けない(無視する)端末のためにCookieをシミュレートします。本機能を有効にするためにはChxjConvertRuleディレクティブを使用する必要があります。ChxjConvertRuleディレクティブの第2パラメータにCookieOnを指定します。</p>  <p class="first_ja">Cookieを受け付けない(無視する)端末のためにCookieをシミュレートします。本機能を有効にするためにはChxjConvertRuleディレクティブを使用する必要があります。ChxjConvertRuleディレクティブの第2パラメータにCookieOnを指定します。</p>
1706    
1707  <div id="doc1_1911" class="caption">Cookieシミュレート機能を有効にする例</div>  <div id="doc1_1287" class="caption">Cookieシミュレート機能を有効にする例</div>
1708  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1709      ChxjConvertRule &quot;^/chxj.+$&quot; &quot;EngineOn,CookieOn&quot; &quot;NONE&quot;      ChxjConvertRule &quot;^/chxj.+$&quot; &quot;EngineOn,CookieOn&quot; &quot;NONE&quot;
1710        
1711  </pre>  </pre>
1712    
1713    
1714  <h3 id="doc1_1915">One-Time ID</h3>  <h3 id="doc1_1291">One-Time ID</h3>
1715    
1716  <p class="first_ja">Cookieシミュレートでは、aタグ、imgタグ、formタグのURL部にOne-Time IDを埋め込むことで実現します。そのため、ユーザがブラウザの戻るボタン等で戻った場合はCookieを取得できなくなります。</p>  <p class="first_ja">Cookieシミュレートでは、aタグ、imgタグ、formタグのURL部にOne-Time IDを埋め込むことで実現します。そのため、ユーザがブラウザの戻るボタン等で戻った場合はCookieを取得できなくなります。</p>
1717    
1718  <h3 id="doc1_1918">Cookieの保存場所</h3>  <h3 id="doc1_1294">Cookieの保存場所</h3>
1719    
1720  <p class="first_ja">Cookieの内容は、サーバ側に保存されます。保存ディレクトリはChxjCookieDirディレクティブを使用することで指定することができます。指定しなかった場合は、/tmpに保存されます。</p>  <p class="first_ja">Cookieの内容は、サーバ側に保存されます。保存ディレクトリはChxjCookieDirディレクティブを使用することで指定することができます。指定しなかった場合は、/tmpに保存されます。</p>
1721    
1722  <div id="doc1_1920" class="caption">ChxjCookieDirの例</div>  <div id="doc1_1296" class="caption">ChxjCookieDirの例</div>
1723  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1724      ChxjCookieDir /var/abc      ChxjCookieDir /var/abc
1725        
1726  </pre>  </pre>
1727    
1728    
1729  <h3 id="doc1_1924">Cookieの保持期間</h3>  <h3 id="doc1_1300">Cookieの保持期間</h3>
1730    
1731  <p class="first_ja">ChxjCookieTimeoutディレクティブで保持期間を指定することができます。指定しなかった場合は1800秒でサーバに保存されているCookieは削除されます。</p>  <p class="first_ja">ChxjCookieTimeoutディレクティブで保持期間を指定することができます。指定しなかった場合は1800秒でサーバに保存されているCookieは削除されます。</p>
1732    
1733  <div id="doc1_1926" class="caption">ChxjCookieTimeoutの例</div>  <div id="doc1_1302" class="caption">ChxjCookieTimeoutの例</div>
1734  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1735      &lt;Location /&gt;      &lt;Location /&gt;
1736        ChxjCookieTimeout 10        ChxjCookieTimeout 10
# Line 2133  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1740  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1740    
1741  <p>上記の例は、10秒でタイムアウト(サーバから削除)するように指定しています。</p>  <p>上記の例は、10秒でタイムアウト(サーバから削除)するように指定しています。</p>
1742    
1743  <h2 id="doc1_1931">Refererシミュレート機能(EXPERIMENTAL)</h2>  <h2 id="doc1_1307">Refererシミュレート機能(EXPERIMENTAL)</h2>
1744    
1745    
1746  <h3 id="doc1_1933">Refererシミュレート機能(EXPERIMENTAL)</h3>  <h3 id="doc1_1309">Refererシミュレート機能(EXPERIMENTAL)</h3>
1747    
1748  <p class="first_ja">DoCoMo端末などのRefererに対応していない機種のためにRefererシミュレート機能を提供します。本機能は、Cookieシミュレート機能を有効にすると、自動で有効になります(将来的には変更予定)。</p>  <p class="first_ja">DoCoMo端末などのRefererに対応していない機種のためにRefererシミュレート機能を提供します。本機能は、Cookieシミュレート機能を有効にすると、自動で有効になります(将来的には変更予定)。</p>
1749  </body>  </body>

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.29

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26