正しく文法どおりに書いているので、W3C Markup Validation Serviceでは予想通り「あんたのHTMLはvalidだぜ!」と称えてくれるにも関わらず、AHLではなんかひどい言われようになる[謎]ことがあります。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>example</title>
<p<a href="hoge.html"<em>link</em</a</p>
たとえばこういうやつです。
HTML 4.01ではhtml要素、head要素、body要素のそれぞれの開始タグ・終了タグともに省略可能です。この例ではすべて省略しています。
また、HTML 4.01はSGML宣言において短縮タグが使えることになっていまして(SHORTTAG YES)、p要素の開始タグ以降で短縮タグを使用しています。
W3C Markup Validation Serviceは、これを正しくvalidと評価してくれます。すばらしい。一方、AHLにこれを見てもらうと「16個のエラーがありました。このHTMLは -795点です。タグが 5種類 4組使われています。」となります。タグの省略や短縮タグのどれもがすべて警告されて減点された結果です。HTML4のDTDのみならずSGMLのマークアップまで覚えたのに、マイナス795点だなんて… キーッ くやしー! [謎]
ということで、この結果からは、パースの正確さは明らかにW3C Markup Validation Serviceのほうに軍配があがるものと思われます。というより、AHLは少なくともSGMLの短縮タグ機構に対応してないということが明白なわけですけど。
§
しかしながら、さてこの結果をどう見るかという、立場的なもの(主観的なもの)次第ということになるわけです。ようは、このふたつのツールの使い道というか使い分けというか、そういうことが見えてくると思います。
なんというか、ソースを書いた人本人だけならいざしらず、人にも見てもらうというか一緒に書くというか、ようするに業務としてHTMLを書く場合なんかが一番わかりやすいでしょうが、そういったケースにおいては、そもそもhtml要素・head要素・body要素の開始タグ・終了タグは省略しない書き方をガイドラインにしているのではないでしょうか。また、「<p<a」などにおいても短縮タグじゃなくてそれはミスタイプの可能性が高く(単に「>」を書き忘れている)、むしろ警告してくれたほうが嬉しいのではないかと思います。
AHLでは、チェックオプションによって、どの警告を出すか出さないかをひとつひとつに至るまで細かく設定できます。また、
Another HTML-lint gatewayのせいで誤解もあると思うのですが、これはgatewayなので(?)CGIとして動いていますが、実際にはコマンドラインでも動かすことができます。
“むしろAnother HTML-lintを使え”っていう言葉は、業務でHTMLとかを書いている人や会社に対してのものです。振り返ると、むかしから本当に言っています[謎]。HTML4のid属性を大文字で書けという警告なんかオフにすればいいし、XHTMLでtext/htmlだとうんたらかんたらっていう警告もオフにすればいい。ブラウザの後方互換のためにXHTMLだけどXML宣言をしない場合もあるけど、やっぱりXML宣言に関する警告をオフにすればいい。サイトの実装方針に基づいて、必要なチェックオプションだけを有効にして、それで検証するというのが最もオススメな感じです。つまり採点結果を欲しいのではなくて、必要な分だけのテストをしたいというのが目的なわけです。
ちなみに、
AHLは業者が使う場合は有料なのでご注意ください>誰。
はあ、しかし今日で夏休みも終わりか──。[謎]
ダイアン トレーシー Diane Tracy 吉田 京子
ベストセラーズ (2003/03)
売り上げランキング: 1149589