HTML checker On-line manual

Access counter

[Top][Up]


特徴

更新されたファイルを検索しHTML構文のチェックを実行する。
本スクリプト自体にチェック機能はありません
指定されたディレクトリを検索対象となる拡張子を持つファイルについてチェックされる。
また,特定のディレクトリやファイルをピックアップしないようにする事もできる。

以下に示す別途必要なモジュールでは検証toolとして Another HTML-lintSGML parser及びBobby を示しているがいずれか一つでも構わない
また,別途ラッパーモジュールを作ればその他の物でも使えるハズです。

これは更新されたファイルに所定の処理を実行するようになっておりmakeのような物になっています。
"make"と異なる点はファイルリストを自動生成する所と依存関係のチェックまでは出来ない事です。

別途必要なモジュール/ファイル

NamePurposeLinkComments
loadparaex.pl各種定義ファイルをloadする Perl script index このモジュールは本スクリプトと同じディレクトリに入れておく
getfiles.pl指定ディレクトリを探索し更新されたファイルの情報を作成する アーカイブファイルに含まれています このモジュールはhtmlchk.plで指定されたディレクトリに入れておく
another.plAnother HTML-lintを実行するラッパースクリプト このモジュールは本スクリプトと同じディレクトリに入れておく
使用するにはコマンドのパスを修正しなければならない
sgmlwrap.plSPを実行するラッパースクリプト
bobbycl.plBobbyを実行するラッパースクリプト このモジュールは本スクリプトと同じディレクトリに入れておく
使用するにはコマンドのパスを修正しなければならない
Checkの結果はDirectryに設定したoptionによりHTMLもしくはplain textで出力される。
$parametersで示されるファイル中で指定する 実行結果のファイル名には出力するディレクトリを指定する。
htmlchk.lst各種設定情報を定義したファイル このファイルは変数$parametersで指定される
Another HTML-lintHTML文章をチェックするスクリプト Another HTML-lint 添付ドキュメントを読んで単体でコマンドプロンプトから使用できるようにしてください
jcode.plが必要です。
SPSGML parsing How to get SP 添付ドキュメントを読んで単体でコマンドプロンプトから使用できるようにしてください
書式チェック機能を利用します。(SP本来の出力データは使用しません)
BobbyExamine aboutW3C's WAI Page Authoring Guidelines Bobby home page 添付ドキュメントを読んで単体で使用できるようにしてください
BobbyはSun JVM 1.1.6 か それ以上の compatibleなJava Virtual Machine (JVM)が必要です。

スクリプトの引数

-cconfigration name $parametersで指定されるファイル中で使用するデータをconfigration nameで指定する

例:htmlchk.pl -c config1

ユーザーの環境に合わせる修正

[htmlchk.plの修正] [htmlchk.lst] [another.plの修正] [sgmlwrap.plの修正] [bobbycl.plの修正]

htmlchk.plの修正

Variable NameExplanation
perlのpath使用する環境でのperlコマンドへのpath
$common_path $parametersを定義する為のワーク
それぞれを直接定義すれば必要ない
$parameters パラメータ定義ファイル名とパスを指定する。
デフォルトは'htmlchk.lst'で変更する必要が無ければそのままで良い。
パラメータには以下に示すものを定義する。

定義ファイルについて詳細はloadparaex.pl online manualを参照

この定義ファイルはマルチコンフィグレーションを実現している。
変数'$config_name'で与えられるconfig_nameにより使用する設定情報を切り替える。

htmlchk.lst

$parameters 定義ファイルについて詳細はloadparaex.pl online manualを参照

この定義ファイルはマルチコンフィグレーションを実現している。
変数'$config_name'で与えられるconfig_nameにより使用する設定情報を切り替える。

Variable NameExplanation
sub

サブルーチン名

ラッパーモジュール内で定義している,チェックを実行するサブルーチンの名称
デフォルトルーチンとしてExecFilterが用意されている。
ExecFilterでは次に示すexecの定義を必要とする。
ExecFilterは従来互換確保の為に用意されているもので本ルーチンの使用を推奨するものではない。


	config_name sub{
		subroutin name;
	};
		
exec

チェック実行コマンド

前述ExecFilterにおいて参照される。
"%s"はターゲットファイル名に変換されて実行される。

このパラメータは既に廃れたものである


	config_name exec{
		perl c:/webshare/wwwroot/cgi-bin/check.pl %s %s >> c:/temp/result.txt;
	};
		
result

実行結果のファイル名

subの実行によって得られた結果を統合保存するファイルへのフルパス
全てのターゲットの結果がこのファイルに追加保存される。
それぞれの結果は標準出力に出力されなければならない。


	config_name result{
		check result file name with path;
	};
		
require

ラッパーモジュール名

subで定義したサブルーチンとその実行に必要なコードを記述したPerlスクリプト名
このルーチンは実行時requireされる。チェックを実行するコアルーチンとなる。
チェック対象となるターゲットのリストは@main'file_listに設定される。
実行結果は標準出力に出力するようにしなければならない。
例えば,SPではエラー情報は出力先を指定しないと標準エラー出力に出力されるが,
これを一度テンポラリファイルに落として改めて標準出力に出力することで要求を満たしている。


	config_name require{
		wrapper module name with path;
	};
		
error

標準エラー出力のリダイレクトファイル名

この定義はオプショナルである。定義しなくても良い
スクリプトのデバッグの為に使用する。
しかし,SPにおいてSTDERRのリダイレクトは意味を持たない
SPのチェック結果はSTDERRに出力される為ラップルーチンにおいて リダイレクトされるからだ


	config_name error{
		standard error redirect file name with path;
	};
		
search

search型で定義されるのは

探索を始めるディレクトリ
データは引数で与えられる識別子がconfig_nameのデータが参照される


	search config_name{
		search file path;
               ・
               ・
	};
		
suffix

suffix型で定義されるのは

更新チェック対照となるファイルの拡張子
データは引数で与えられる識別子がconfig_nameのデータが参照される


	suffix config_name{
		\.checked file suffix;
               ・
               ・
	};
			
hidden

hidden型で定義されるのは

更新チェック対照から外すディレクトリ及びファイル名
隠すディレクトリやファイルが無ければ定義しなくてもよい
データは引数で与えられる識別子がconfig_nameのデータが参照される


	hidden config_name{
		Hidden directory;
               ・
               ・
	};
		

another.plの修正

Variable NameExplanation
perlのpath使用する環境でのperlコマンドへのpath
$ENV{'HTMLLINTRC'}Another HTML-lintの設定ファイルへのpath
use libAnother HTML-lintのモジュールへのpath

sgmlwrap.plの修正

Variable NameExplanation
perlのpath使用する環境でのperlコマンドへのpath
$sp_pathインストールしたSPへのpath
$tempパースエラーを保存するテンポラリファイル
$ENV{'SGML_SEARCH_PATH'}指定ファイルの検索ディレクトリ
$ENV{'SGML_CATALOG_FILES'}ドキュメントタイプ定義ファイルのカタログ名を指定する
$ENV{'SP_CHARSET_FIXED'}もし,'1'か'Yes'に設定するとSPはFixされたキャラクタセットとして処理する
$ENV{'SP_SYSTEM_CHARSET'}システムのキャラクタセットを指定する
$ENV{'SP_ENCODING'}Fixされたキャラクタセットとして処理する場合のデフォルトのエンコーディングの指定
$ENV{'SP_BCTF'}Fixされたキャラクタセットとして処理しない場合のデフォルトのエンコーディングの指定

bobbycl.plの修正

Variable NameExplanation
perlのpath使用する環境でのperlコマンドへのpath
$tempHTML document URI listを書き込む一時ファイル
$bobbydirBobbyがInstallされているディレクトリ
$ENV{'CLASSPATH'}使用するJava classへのPATH
BobbyのFAQにも詳細が示されている
@file_listこのwrap moduleを単体で実行する場合,チェック対象ファイルのパスを列挙する。
デバッグ用

[Top][Up]