mod_chxjにQRコードを生成させることも可能です。
QRコード出力機能を使用するには、QRコードハンドラを登録します。 httpd.confに以下の記述を追加します。
AddHandler chxj-qrcode .qrcなお、ハンドラを登録しないでも、出力フィルターを経由させることで、QRコードを出力させることも可能です。(※QRコードの動的出力を参照)
ハンドラを登録したら、その登録した拡張子を持つファイルを用意します。
例:a.qrc
<?xml version=1.0 ?>
<qrcode>
<version>13</version>
<level>H</level>
<mode>8bit</mode>
<size>1</size>
<data>テストデータです</data>
</qrcode>
.qrcファイルは、qrcode要素、version要素、level要素、mode要素、size要素、data要素から成り立ちます。
プログラム等を使用し、動的にQRコードを出力したい場合は、上記の.qrcファイルの内容をそのままOutputFilterに通してあげればOKです。
つまり、ChxjConvertRuleディレクティブで"EngineOn"と指定したURIが指すディレクトリに設置すれば良いということです。
mod_chxj内部で、Content-Typeがtext/xmlの場合、QRCode用のファイルであるかどうかを一度読み込んで判断するので、Content-Typeには、
text/xmlを設定してください。
例: phpでQRコードを動的に出力する例
<?php
$version = $_POST["version"];
$level = $_POST["level"];
$mode = $_POST["mode"];
$size = $_POST["size"];
$data = $_POST["data"];
header("Content-Type: text/xml; charset=Shift_JIS");
echo "<qrcode>\n";
echo "<version>".$version."</version>\n";
echo "<level>".$level."</level>\n";
echo "<mode>".$mode."</mode>\n";
echo "<size>".$size."</size>\n";
echo "<data>".$data."</data>\n";
echo "</qrcode>\n";
?>
そして、上記のコードを、mod_chxj変換エンジンが処理するはずであるところに設置すれば完了です。