namazu-dev(ring)


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

Re: File::MMagic



knok@xxxxxxxxxxxxx (NOKUBI Takatsugu) wrote:

>> media-typeが、 'V1.0 ascii      model/vrml' と出力されてしまいます。
>> ソースを見た限りでは、空白のエスケープがされていないようです。
>
>  ご指摘の通りです。修正したものをlibブランチにcommitしました。

えっと、 HTML文書の判定に用いられている pattern に提案があり
ます。

	 "text/html" => [ "<html>",
		     "<HTML>",
		     "<head>",
		     "<HEAD>",
		     "<title>",
		     "<TITLE>",
		     "<h1>",
		     "<H1>",
		     "<!--",
		     "<!DOCTYPE",
		],

現在の pattern では <html lang="ja"> や <h1 id="foobar"> と
いった表記にマッチしません。完全ではありませんが、次のように
修正すればある程度ましになると思います。

	 "text/html" => [ "<html[^>]*>",
		     "<HTML[^>]*>",
		     "<head[^>]*>",
		     "<HEAD[^>]*>",
		     "<title[^>]*>",
		     "<TITLE[^>]*>",
		     "<body[^>]*>",   # body を追加
		     "<BODY[^>]*>",
		     "<h1[^>]*>",
		     "<H1[^>]*>",
		     "<!--",
		     "<!DOCTYPE",
		],

それから、 <!-- と <!DOCTYPE を含めると、SGML文書を HTML文書
として誤って認識してしまう可能性が高くなると思います。この2 
つは除外した方がいいのではないかと。

-- Satoru Takabayashi