[prev] [sitemap] [gateway] [next]

Another HTML-lint

目次 
はじめに        ゲートウェイサーヴィス
いくつかの覚え書き      軽いゲートウェイ
htmllint.cgiの使い方        結果の解説
htmllintの使い方           タグ一覧
ダウンロード              色見本
規則ファイルの生成
参考までに          プライマリサイト

ダウンロード


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

以下のパッケージの主な違いは、Perlスクリプトのコード系で、htmllint.zip が EUC/LF、htmllint.lzh が SJIS/CRLF です。アクセス権限情報は含まれていません。htmllint.sit.bin はMacOS用で、Perlスクリプトの文字コードを SJIS/CR にして、TYPE/CREATOR を付加したりしたものです。HTMLはすべてJISコードのままです。

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

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

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

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版ではドロップレットです。
htmllint.pm
チェッカ本体のPerlスクリプトパッケージモジュールです。
common.rul
共通規則ファイルです。他の規則ファイルの不備を補うもので、htmllint.pm、htmllint.cgi、tagslist.cgiが読み込みます。
charsets.rul
IANACHARACTER SETSを元にして作った連想配列で、htmllintが読み込みます。これは<META>のCHARSET指定で使用します。
colortable.rul
色名と色コードの対応表です。
*.rul
各種HTMLに対応した規則ファイルです。htmllint、tagslist.cgiが読み込みます。
*.dtd/ent
それぞれの規則ファイルの元になったDTDです。RFCなどからの抜粋です。htmllintは使用しません。
tagslist.cgi
規則ファイルからタグ一覧HTMLを生成するPerlスクリプトです。
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.html
htmllint.cgiをCGIとして呼び出すHTMLです。
htmllintl.html
htmllint.htmlの簡易版です。
htmllinte.html
MSIE4.0用のDynamicHTMLを利用したものです。
explain.htmlexplain-wai.htmlexplain-score.htmlexplain-omake.html
チェックの結果の解説などが述べられたHTMLです。
colors.html
名前付き色見本です。
index.htmlintroduction.htmlnotice.htmluse-htmllintcgi.htmluse-htmllint.htmldownload.htmlrulefile.htmlreference.html
この能書きの書かれたHTMLファイル群です。
htmllint.css
スタイルシートがちょっとだけ定義されているファイルです。background-image などをお好みに調整してください。
*.gif
「よくできました」などのイメージファイルです。
httpreq.pl
cgi_get の代わりに作成した簡単な HTTP アクセスライブラリです。設定によっては htmllint.cgi が使用します。htmllint.cgi と同じディレクトリに置くか、Perlのライブラリディレクトリに入れてください。
RFC2396.pm
RFCに記述されているURIの構文則を正規表現で表わしたPerlスクリプトパッケージモジュールです。htmllint.pm が使用します。htmllint.pm と同じディレクトリに置くか、Perlのライブラリディレクトリに入れてください。

URLからHTMLを取得する方法は何通りか用意されています。LWP (libwww-perl) を使うことをお勧めします。今やPerlに付いてきます。httpreq.pl は、Perl for Win32 でLWPが使えなかった頃に、わたしがお手軽に書いたスクリプトで、secure server では動作しないことがわかっています。他の任意のプログラム、例えば url_get や wget などを使用することもできます。これらの指定は htmllint.env で行ないます。
httpreq.pl を用いてファイアウォール内へインストールする場合は、変数の設定が必要かも知れません。htmllint.env で、$HTTP_PROXY と @HTTP_NOPROXY の設定を適切に行なってください。

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


Another HTML-lint を自分のサーバやローカル環境で動作させるための手引きが、以下のようなサイトにあります。(順不同、敬称略、無断紹介)


このサイトの運営は作者が行なっているわけではありませんのでご注意ください。作者が管理しているのはプライマリサイトだけです。

Updated: Jun 09, 1999
Created: Jun 19, 1997 (c) by k16@chiba.email.ne.jp
PostPet: k16pet@kinchan.com

[prev] [sitemap] [gateway] [next]