Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [namazu-win32-users-ja] mknmzrcの$META_TAGS設定に関して



寺西です。

koi_san wrote:
> 
> 1. $META_TAGSにauthorを含めてもNMZ.field.authorが改行のみになる

なりますね。バグです。
 
> html.plではLINK要素からの情報を格納しているため、競合が起きていると理
> 解しましたが、META要素のauthorは一般的なものなので対策が必要だと思いま
> す。他のフィルターを考慮すると、どうするのが望ましいのか難しいですが。

NMZ.filed.author ファイルが作成されることがバグです。
これはデフォルトでは .mknmzrc の %FILED_ALIASES で author は from の
別名として定義されていますので、ファイルが生成されてはいけません。

META タグの author は NMZ.filed.from に入っているものと思います。
ご確認ください。

Namazu では author と from は同一視することを前提としているため、
%FILED_ALIASES を書き換えて、author と from を区別すると他にいろいろ
と不具合がでます。

1. <LINK REV=MADE HREF="mailto:test@xxxxxxxxxx"> が指定しておれば
  その値、なければ<ADDRESS>タグの中身
2. $META_TAGS で指定した場合は、author の中身を追加

となります。1 で何か設定されている場合は、後ろに追加することに
現状はなってしまっています。

以上のことから、
・NMZ.filed.author を生成するバグを取り除く
・$META_TAGS, --meta を指定しなくても、
  META タグの author はデフォルトで NMZ.field.from に入れるものとする。
  この場合、META タグの author を LINK や ADDRESS より優先する。
・$META_TAGS で authro が指定されても無視する。
という対応を行うのが良いかと思います。
特に異論がなければ、そのように修正いたします。

なお、過去ログに以下の回答がありますので、これを参考に修正すれば
とりあえずは回避できるでしょう。(ここでは LINK の変わりに
META の author を取り出す対策になっていますが。)

http://www.namazu.org/ml/namazu-users-ja/msg01578.html
 
> 2. $META_TAGSにdc.titleのようにピリオドを含む記述をすると、
> 『mknmz: フィールド検索用のインデックスが開けませんでした』となる
> 
> put_field_indexかutil::efopenあたりの問題かなと思うのですが、perlに詳
> しくないため追いきれません。
> 想定外のことだと思いますが、HTMLにDublin Coreを記述するときは一般的な
> 方法なので、対応してもらえるとありがたいです。

ピリオドが含まれるフィールドというものを想定していなかったのでしょう。

sub update_field_index () {
    my @list = glob "$var::NMZ{'field'}.*.tmp";
    for my $tmp (@list) {
        if ($tmp =~ m!((^.*/NMZ\.field\.[^\.]+(?:\.i)?)\.tmp)!) {

の最後の1行で引っかかっているわけですが、それ以前に非常に大きな
問題があることがわかりました。根本的な対策を考えます。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E