HTML-Lint-1.22 > HTML::Lint

名前

HTML::Lint - 文字列あるいはファイルに入っているHTMLエラーのチェック

概要

    my $lint = HTML::Lint->new;
    $lint->only_types( HTML::Lint::STRUCTURE );

    $lint->parse( $data );
    $lint->parse_file( $filename );

    my $error_count = $lint->errors;

    foreach my $error ( $lint->errors ) {
        print $error->as_string, "\n";
    }

HTML::Lintにはこれはコマンドラインからの文法チェックを行うweblintという ラッパープログラムがついてきます:

    $ weblint http://www.cnn.com/
    http://www.cnn.com/ (395:83) <IMG> tag has no HEIGHT and WIDTH attributes.
    http://www.cnn.com/ (395:83) <IMG> does not have ALT text defined
    http://www.cnn.com/ (396:217) Unknown element <nobr>
    http://www.cnn.com/ (396:241) </nobr> with no opening <nobr>
    http://www.cnn.com/ (842:7) target attribute in <a> is repeated

そしてついに、mod_perlによって生成されたコードをHTML::Lintに渡し、 それをApache error_logにダンプさせるApache::HTML::Lintを 取得することもできるようになりました。

    [Mon Jun  3 14:03:31 2002] [warn] /foo.pl (1:45) </p> with no opening <p>
    [Mon Jun  3 14:03:31 2002] [warn] /foo.pl (1:49) Unknown element <gronk>
    [Mon Jun  3 14:03:31 2002] [warn] /foo.pl (1:56) Unknown attribute "x" for tag <table>

バージョン

Version 1.22

    $Header$

EXPORT

何もありません。これは全てオブジェクト・ベースです。

メソッド

HTML::LintHTML::Parserモジュールをベースにしています。HTML::Parserで 機能する全てのメソッド呼び出しがHTML::Lintで機能します。しかしおそらくは parse()あるいはparse_file()だけを使いたいことでしょう。

new()

HTML::Lintオブジェクトの生成。それはHTML::Parserから継承します。newメソッドは 何も引数を取りません。

only_types( $type1[, $type2...] )

あなたが欲しいタイプのエラーだけを指定します。

    $lint->only_types( HTML::Lint::Error::STRUCTURE );

これをパラメータ無しで呼び出すと、オブジェクトは可能なエラーを 全て返すようになります。

エラーのタイプにはSTRUCTURE, HELPER そしてFLUFFがあります。 これらのタイプについての詳細はHTML::Lint::Errorをご覧ください。

errors()

リスト・コンテキストではerrorsは解析されたテキストで見つかった 全てのエラーを返します。それぞれのエラーはHTML::Lint::Errorという 種類のオブジェクトです。

スカラー・コンテキストでは、見つかったエラーの数を返します。

clear_errors()

出力してクリアしてを繰り返したい場合に、エラーのリストをクリアします。

newfile( $filename )

複数のファイルをまとめてリントするさい、他のファイルに切り替えたい時には newfile()を呼び出してください。そうでなければオブジェクトは全てが 同じファイルからのものであると考えます。エラーのリストがクリアされない ことに注意してください。

ここには誰も知る必要のない全ての内部的な関数が入っています。

バグ、要望そして書簡

どうかお気軽に[email protected]の私にメールしてください。 私は出来る限りお手伝いします。私は常にバグ、提案そしてパッチに興味を 持っています。

バグ、機能のリクエストは<[email protected]> あるいはhttp://rt.cpan.orgにあるWebインターフェースを通して 報告してください。私は通知を受け、そしてあなたは私が 変更をおこなうと、あなたのバグについての進捗が自動的に あなたに通知されます。

TODO

  • 値を必要とする属性のチェック

    例えば、BGCOLORはBGCOLOR="something"でなければなりません。しかし、単なる BGCOLORであれば問題です。(さらにIE OSXはクラッシュします)

  • リンクのチェックの追加

  • 旧式のタグの取り扱い

  • <A>の内側での<BR>や<P>のようなもの

  • 行がない<TABLE>

  • FORMの中に入っていないフォーム・フィールド

  • 適切なエンティティとセミコロンで終わることのチェック

  • 何も入っていないDIV

  • 中にパーセントが入っているHEIGHT=

  • 以下のような間抜けな内容のチェック: <b><li></b><b>Hello Reader - Spanish Level 1 (K-3)</b>

ライセンス(=LICENSE)

Copyright 2003 Andy Lester, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Please note that these modules are not products of or supported by the employers of the various contributors to the code.

作者

Andy Lester, <[email protected]>

翻訳者

川合孝典 ([email protected])