Another HTML-lint

目次 
はじめに        ゲートウェイサーヴィス
いくつかの覚え書き      簡易ゲートウェイ
htmllint.cgiの使い方        結果の解説
htmllintの使い方           タグ一覧
規則ファイルの生成           色見本
ダウンロード    
メーリングリスト  
参考までに        作者にビールをおごる
よくある質問と答       プライマリサイト

ダウンロード


ソース等はここからダウンロードできますが、本ゲートウェイサーヴィスも含めて、これらの実行等に伴ういかなる損害に対しても作者は責任を負いません

パッケージによって、Perlスクリプトの文字コード系が異なります。*.zip が EUC/LF、*.lzh が SJIS/CRLF です。アクセス権限情報は含まれていません(作業環境がMacとWindowsなもんで)。*.sit.bin は Classic MacOS用で、Perlスクリプトの文字コードを SJIS/CR にして、TYPE/CREATOR を付加したりしたものです。HTMLはすべてJISコードのままです。
なお、フルパッケージはVectorからもダウンロードできますが、必ずしもプライマリサイトと同期しているわけではありません(というか、Vectorのは相当古い可能性があります)。

htmllint.zip
(Vector)
htmllint.lzh
(Vector)
htmllint.sit.bin
(Vector)
以下のすべてが含まれるフルパッケージです。
htmllint.core.zip htmllint.core.lzh htmllint.core.sit.bin Perlスクリプト(htmllint*、*.cgi、*.pm、*.pl)などが含まれます。
htmllint.html.zip htmllint.html.lzh htmllint.html.sit.bin HTMLファイル(*.html、*.css、*.gif)などが含まれます。
htmllint.rul.zip htmllint.rul.lzh htmllint.rul.sit.bin 規則ファイル(*.rul)が含まれます。動作に必要です。
htmllint.dtd.zip htmllint.dtd.lzh htmllint.dtd.sit.bin DTD(*.dtd、*.ent)などが含まれます。動作には必要ありません。オリジナルに手を加えてあるものもありますし、XHTMLは含まれていません。

Perl5.004以上が必要です。JPerlでは動作しません。ローカルマシンへのインストールについて参考となるサイトを紹介してあります。
CPAN からは、各プラットフォームのPerl処理系を含むすべてのPerl関係のリソースをダウンロードできます。

標準でないPerlライブラリ等は、必要なら例えば以下からダウンロードしてください。MacPerlで使う場合は改行コードをCRに変換する必要があるかも知れません。CRに変換するMacPerl用のドロップレットを作ってみました。

htmllint.zip/htmllint.lzh/htmllint.sit.bin では、全ファイルがフラットな構造に展開されます。このままの状態でも利用できますが、ファイルの種類別にディレクトリを分けることもできます。ファイルは次のように分類できます。

htmllint の多くの動作環境は、htmllint.env に記述されています。htmllint.env はパッケージには含まれていないので、最初はサンプルの htmllintenv を htmllint.env に改名してください。そして htmllint.env 中の設定項目に目を通し、ディレクトリの指定など適宜書き換えてください。他のCGIの動作環境もこのファイルですべて調整します。
htmllint.env は他のCGIスクリプトと同じ場所に置いてください。CGIのアクセス権は、htmllint、htmllint.cgi、tagslist.cgi を 755 などにしておけば大丈夫です。htmllint.env 自身は、CGIからは読めるが外部から直接参照できないようにした方が安全です。例えば、Apacheでの .htaccess に AddType application/x-httpd-cgi .env を追加し、アクセス権を 744 にしておく、などです。ログファイルを作る場合は、それを置くディレクトリにも適切なアクセス権を与えます。
HTML中にも何個所か修正しなければならない場所があります。

Lynx を利用する場合は、lynx.cfg でCHARACTER_SETを Japanese(EUC) に設定してください。このとき、htmllint.cgiはEUC版である必要があります。Lynx は 2.7.1 でしか動作確認していないので、他のヴァージョンではオプション等の調整が必要かも知れません。Lynx の起動時オプションは htmllint.env の中に記述されています。

ダウンロードした htmllint.zip/htmllint.lzh/htmllint.sit.bin には、以下のようなファイルが含まれています。

htmllint
コマンドラインから起動し、htmllint.pmを呼び出して構文チェックするためのPerlスクリプトです。MacPerl版ではドロップレットですが、MPWで利用するときはプレーンテキストにする必要があります。
htmllint.pm
チェッカ本体のPerlスクリプトパッケージモジュールです。
common.rul
共通規則ファイルです。他の規則ファイルの不備を補うもので、htmllint.pm、htmllint.cgi、tagslist.cgiが読み込みます。
charsets.rul
IANACHARACTER SETSを元にして作った連想配列で、htmllint.pmが読み込みます。
colortable.rul
色名と色コードの対応表です。htmllint.pmが読み込みます。
*.rul
各種HTMLに対応した規則ファイルです。htmllint、tagslist.cgiが読み込みます。
*.dtd/ent
それぞれの規則ファイルの元になったDTDです。RFCなどからの抜粋ですが、MozillaやMSIEのものはリファレンスからの捏造品です。htmllintは使用しません。
tagslist.cgi、tagslist.html
規則ファイルからタグ一覧HTMLを生成するPerlスクリプトと、それへの目次の含まれるHTMLです。
parsedtd.pl
DTDから、htmllintが読み込む規則ファイルの原形を生成するPerlスクリプトです。htmllintは使用しません。
htmllint.cgi
htmllint.htmlとhtmllint.pmの間を仲介するためのゲートウェイ用のPerlスクリプトです。
htmllintenv
htmllint.pm、htmllint.cgi、tagslist.cgiが使用する環境ファイルのサンプルです。このファイルからhtmllint.envを作ってください。htmllint.envをhtmllint.pm、htmllint.cgi、tagslist.cgiが読み込みます。
htmllintrc
htmllintのための設定ファイルのサンプルです。使用しません。
htmllint.history.txt
htmllint.cgiとhtmllint.pmの更新履歴です。
htmllint.html
htmllint.cgiをCGIとして呼び出すHTMLです。
htmllintl.html
htmllint.htmlの簡易版です。
htmllinte.html
MSIE4以上用のDynamicHTMLを利用したものです。
explain.htmlexplain-wai.htmlexplain-score.htmlexplain-omake.html
チェックの結果の解説などが述べられたHTMLです。
colors.htmlcolorsbk.html
名前付き色見本です。
index.htmlintroduction.htmlnotice.htmluse-htmllintcgi.htmluse-htmllint.htmldownload.htmlrulefile.htmlreference.htmlfaq.html
この能書きの書かれたHTMLファイル群です。
htmllint.css
スタイルシートがちょっとだけ定義されているファイルです。background-image などをお好みに調整してください。
*.gif
「よくできました」などのイメージファイルです。
httpreq.pl
簡単な HTTP アクセスライブラリです。htmllint.env の設定によっては htmllint.cgi が使用します。htmllint.cgi と同じディレクトリに置くか、Perlのライブラリディレクトリに入れてください。
RFC2396.pm
RFCに記述されているURIの構文則を正規表現で表わしたPerlスクリプトパッケージモジュールです。htmllint.pm が使用します。htmllint.pm と同じディレクトリに置くか、Perlのライブラリディレクトリに入れてください。

Another HTML-lint をファイアウォール内へインストールする場合は、変数の設定が必要かも知れません。htmllint.env で、$HTTP_PROXY と @HTTP_NOPROXY の設定を適切に行なってください。

UNIXの場合、環境変数HOMEで示されるディレクトリに、.htmllintrc というファイルがあると、チェックの初期状態として読み込みます。htmllintrc というサンプルを好みに編集し、ファイル名を変更して使ってください。


Another HTML-lint を自分のサーバやローカル環境で動作させるための手引きが、以下のようなサイトにあります (順不同、敬称略、無断紹介)。 なお、これらのリンクは生きていない可能性がありますが、積極的には保守しません。


このサイトの運営は作者が行なっているわけではありませんのでご注意ください。
作者が管理しているのはプライマリサイトだけです。
このサイトの管理人はその連絡先を明記してください。明記されていないサイトは正しくない利用形態です。

Updated: Jul 26, 2007
Created: Jun 19, 1997 © by k16@chiba.email.ne.jp