Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: File-MMagic(OpenOfficeのfiletype)
寺西です。
Yukio USUDA wrote:
>
> OpenOfficeの文書ファイルは元々XMLファイルを圧縮したzipファイル
> なのでFile-MMagicはzipファイルとして認識します。
...
> しかし、他のファイルがcontent.xmlの前にくる例があり、magic情報だ
> けでは一般のzipファイルと区別できないことがわかりました。
OpenOfficeの文書である zip ファイルには、OpenOffice と識別できる
キーワードが都合よくコメントに入っているといったことはないので
しょうか?
# そんなに都合よくなってないだろうけど...。
> (複数ファイルに展開される圧縮ファイルを通せるフィルターはいま
> のmknmzのままでは書けないですよね)
現在はアーカイブファイルには対応していません。
アーカイブファイルへの対応は将来したいとは思っていました。
# ただ、それはアーカイブファイルに含まれる個々の文書を処理する
# ことを考えていましたので、今回のように複数のファイルで全体と
# して意味をなすようなものがあるとは、考えていませんでした。
それはともかく、現状ではやっぱり
> 2.mknmzでの判定箇所を修正し mtype_mがapplication/x-zipで
> ある場合は拡張子情報 mtype_nを併用して決定させる。
とするのが良いかと思います。
将来的にはファイルタイプを階層的にチェックするというか、
magic 等で中分類した後、中身に応じて小分類するといった仕組みが
必要になるのではないかと思います。
x-type 付きのものの判断もそうすればすっきりするのではないかと
思います。
以下、余談。
MMagic に拡張ができるのなら、MMagic から外部関数を呼び出す仕組み
を作って、その関数内でファイルタイプを判断するというのも良い
かもしれません。(セキュリティ上、危険?)
Special や Magic では判別できないものには有効ですね。
今回の場合だと、unzip -l filename の結果に content.xml があれば、
1 を、含まれなければ 0 を返す関数を渡すというイメージです。
--
=====================================================================
寺西 忠勝(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