企画特集
-
世界と戦うコミュニケーション環境
多様なボイスコミュニケーションを実現する
クラウド型プラットフォームとは? -
コードの煩わしさを一気に解消
ワイヤレスヘッドホン入門モデルの決定版
JVCの最新ヘッドホンを徹底レビュー -
HP 3PARがデータ急増時代を救う
「使いたい時、使いたいだけ」を実現
今年検討すべき理想のストレージを考える -
クラウドサービスの事業戦略に迫る
「創世期」から「成長期」へ突入
国内ベンダーはどう「進化し続ける」のか? -
CNET キャリア:転職事例
納得する情報収集がいい転職への近道
-
その思い込み、神話レベルですよ?
~クラウドの真実を知ろう~
HPとインテルが送るクラウドの真実とは -
スマホ端末の差別化の鍵となるか
CESでも注目されたDTS Ultra Mobile
サラウンドの未来と海外事情を探る -
7万円台のウルトラブックも!
2012年春モデルの情報をいち早く掲載
HPのお得な情報や最新情報が満載 -
スマートフォンのビジネス活用
スマートデバイスの導入検討が
「セキュリティ」再考の好機! -
「出入口」を固め、攻撃を防御する
従来の防御が使えない!?複合的手法による
脅威から企業システムを守るために -
アナリストが訊く!連載企画
第1回は『テレビメディア業界』! あの
有名企業のクラウド導入にアナリストが直撃 -
iPadにも対応した地図アプリ
つながらない場所や災害時にも役立つ!
「MapFan for iPhone」を徹底レビュー -
日本初のスマホ向け放送局の衝撃
ワンセグの約10倍の高画質で楽しめる!
NOTTVのこだわりのチャンネル全容ガイド -
漫画で解説 クラウドのITリソース
管理者は、OS、仮想環境の混在に悩む
クラウド環境に必要な3つの運用サイクル -
雑然としたデスクは雑念を生む!?
ScanSnap × Evernoteのベストコンビが
仕事の能率を劇的に向上させる
注目コンテンツ
- アップルとFacebookの繁栄、そして「オープン」が廃れた理由
- ITプロフェッショナルが避けるべき10の行動
- タブレットが急拡大、携帯はスマホが半数に迫る--2011年販売動向
- 「iPad」や「Kindle Fire」を超えるタブレットが登場しない理由
- 「Windows 8」タブレットの「iPad」対抗馬としての可能性
- 「iPad 3」発表イベント、米国時間3月7日か
- ロックな時代の終焉と戦う相手が不在の日本--田原総一朗と佐々木俊尚が対論
- アップル、次期OS X「Mountain Lion」を開発者向けに公開
- KDDIにも行政指導--相次ぐ通信障害で3月30日までに防止策
- 誰がどの機器で電気を使っているか見える--ソニー「認証型コンセント」
読まれている記事

<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">は実は間違っている?
プロフィール
最近のエントリー
-
【まもなく締切】人間中心設計専門家の受験申込 受付中 10日(火)まで
2012/01/09 -
社会人向け ユーザビリティとUXの専門家を育成する講座 まもなく開講
2011/09/16 -
人間中心設計専門家の応募がまもなく締切
2011/01/10 -
アクセシビリティ規格JIS X 8341-3が改正、重要な関連文書も続々と公開
2010/08/24 -
WCAG 2.0とUnderstanding WCAG 2.0に、新しい日本語訳が公開 - アクセシビリティ動向
2010/04/14


この記事のトピック
こんにちは。“時代の3歩先をねらうWeb屋さん”ミキ・オキタです。
このブログ「WebClip ウェブデザインのニュース」では、Webデザイン・Webマーケティングの話題をお届けしています。
今回は、Web標準に沿った HTML 4.01 のコーディングに関するテーマ。
HTMLに慣れている方向けの内容です。
“http://www.w3.org/TR/html4/loose.dtd”は省略してはいけない。
HTML文書の冒頭には、!DOCTYPE宣言を置くことになっている。
例えば、HTML 4.01 Transitional であれば、次のように記述する。
[パターンA: 標準の!DOCTYPE宣言]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
!DOCTYPE宣言について、いくつかのHTML解説サイトで「後半部の“http://www.w3.org/TR/html4/loose.dtd”は省略してもよい」と説明されている。省略する場合、!DOCTYPE宣言は次のように記述する。
[パターンB: 後半部を省略した場合]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
主要なブラウザ(Internet Explorer、Firefox、Safari、Opera)は、[パターンA]と[パターンB]で、HTMLのレンダリングモードに違いが生じる。[パターンA]の場合はレンダリングモードが「標準準拠モード」となり、[パターンB]では「後方互換モード」となる。
だが、そもそも「“http://www.w3.org/TR/html4/loose.dtd”は省略してもよい」のであれば、なぜ主要なブラウザは[パターンB]を「標準準拠モード」でレンダリングしないのだろうか?
「省略してもよい」の根拠はどこから来ているのだろうか?
いろいろ調べてみた。
結論から言うと“http://www.w3.org/TR/html4/loose.dtd”は、現時点においては、『省略してもよいとは言い難い』ようである。
「省略してよい」の根拠はどこから来たのか。
!DOCTYPE宣言において“-//W3C//DTD HTML 4.01 Transitional//EN”部分を“公開識別子”と呼び、“http://www.w3.org/TR/html4/loose.dtd”部分を“システム識別子”と呼ぶ。
“公開識別子”と“システム識別子”
「システム識別子“http://www.w3.org/TR/html4/loose.dtd”は省略してもよい」という根拠はどこから来たのだろうか?
W3Cの HTML 4.01 仕様書に「省略してよい」という記述はない。
!DOCTYPE宣言の該当箇所を以下に抜粋して引用する。
7 HTML文書の全体構造 - HTML 4.01仕様書
http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/struct/global.html#h-7.2
7.2 HTMLバージョン情報
適正HTML文書には、どのバージョンのHTMLであるかの宣言がある。 文書型宣言が、当該文書の文書型定義(DTD)の名前を示す ( [ISO8879]参照)。
HTML 4.01仕様は、3つのDTDを規定しており、著者は自分の文書に、次の3つの何れかの文書型宣言を含めねばならない。各DTDは、サポートする要素が異なってる。
HTML 4.01厳密型DTD。これは、推奨しないこととなった要素や属性を含まず、またフレーム設定用の要素・属性をも含まない。このDTDを用いる文書は、次の文書型宣言をせよ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01移行型DTD。これは、厳密型DTDのすべての要素・属性に加えて、推奨しない要素や属性も含む(推奨しないもののほとんどは視覚的プレゼンテーションに関わるものである)。このDTDを用いる文書は、次の文書型宣言をせよ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 フレーム設定型DTD。これは、移行型DTDのすべてに加えて、フレーム用の内容を加えたものである。このDTDを用いる文書は、次の文書型宣言をせよ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
(中略)
公開識別子とファイルの結びつきは、Oasis Open Consortium ( [OASISOPEN]参照)の推奨に従ったカタログファイルを用いて指定できる。 HTML 4.01のサンプルカタログファイルは、HTMLのためのSGML参照情報を記した節の冒頭に含まれている。
HTML 4.01 仕様書では「次の3つの何れかの文書型宣言を含めねばならない」とある。示された例は、システム識別子“http://www.w3.org/TR/html4/loose.dtd”まできちんと記述されている。「省略してもよい」ということは読み取れない。
ポイントになるのは、冒頭の「 [ISO8879]参照」と書かれた部分。[ISO8879]はHTMLの母体となったSGMLの仕様書だ。原文は英語だが、和訳版が[JIS X 4151]として存在する。
この中に、「省略してよい」の根拠となったと思われる一文が存在する。
以下に抜粋して引用する。
9.1.6 外部識別子 - JIS X 4151-1992 文書記述言語SGML
http://www1.u-netsurf.ne.jp/~7l1rll/SGMLsec9_0.html#ex73
システム識別子は,公開識別子及びその他の情報からシステムが補充できるのであれば,省略してもよい。
システム識別子は、公開識別子からシステムが補充できるのであれば、省略してもよい。
つまり、システム識別子“http://www.w3.org/TR/html4/loose.dtd”は、公開識別子“-//W3C//DTD HTML 4.01 Transitional//EN”から、HTML 4.01 Transitionalであることが自明であるので「省略できる」という解釈だ。
一見、この解釈は正しい。
世間で流通している「省略できる」という話も、これを根拠にしていると思う。
「省略してよい」条件を各主要ブラウザは満たせない。
ここからがポイントだ。
先ほどの一文を、もう一度読み解いてみよう。
システム識別子は,公開識別子及びその他の情報からシステムが補充できるのであれば,省略してもよい。
「補充」は「システム」が行う。「システム」は“一般のWebサイトであれば”Internet ExplorerやFirefoxなどの「ブラウザ」となる。つまり、
公開識別子“-//W3C//DTD HTML 4.01 Transitional//EN”から、ブラウザが自動的に、システム識別子"http://www.w3.org/TR/html4/loose.dtd"を「補充」する機能を持っていれば「省略してもよい」
という意味になる。
ここで思い出してみよう。
主要なブラウザは、システム識別子“http://www.w3.org/TR/html4/loose.dtd”を省略したとき、どのような挙動を示したか。
どのブラウザも、文書を HTML 4.01 Transitional とは認識しなかった。「後方互換モード」でレンダリングした。公開識別子から、適切なHTMLバージョンを判断していない。
現実問題として、主要なブラウザは、公開識別子“-//W3C//DTD HTML 4.01 Transitional//EN”から、システム識別子“http://www.w3.org/TR/html4/loose.dtd”を「補充」する機能を持っていない(あるいはそのような挙動を示さないように作られている)のだ。
先ほどの仕様書に立ち返って考えると、
システム識別子は,公開識別子及びその他の情報からシステムが補充できるのであれば,
というケースに該当しない。むしろ「補充できない」ので「省略してはいけない」が結論になる。
(もちろん、そのHTML文書の想定利用環境に主要なブラウザが一切含まれない場合は、これに限らない。あるいは、将来、主要なブラウザに上記機能が搭載されれば話は変わる。実際、W3C HTML Validation Service は想定ブラウザという概念がなく、文法チェックだけするため、省略されていても適合判定となる)
したがって、
[パターンB: 後半部を省略した場合]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
は、避けたほうがよい。
[パターンA]で記述すべきだ。
[パターンA: 標準の!DOCTYPE宣言]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
ちなみに、XHTML 1.0 では、システム識別子は必須とされている。
【謝辞】
SGMLについてkunishiさんに丁寧にアドバイスいただきました。ありがとうございました。
最新ブログエントリー
-
シンポジウムを終えて
Hiroshi Maruyama's Blog/ 2012-02-22 07:44:04 -
Linux Mintのもう一つのデスクトップ「MATE」
Mac OS X Trend Informations/ 2012-02-22 02:52:51 -
マンマ・ミーア!
クロサカタツヤの情報通信インサイト/ 2012-02-14 15:42:09 -
システムズ・レジリエンス
Hiroshi Maruyama's Blog/ 2012-02-13 07:51:33 -
スティーブ・ジョブズに学ぶ日本の社会復興
放送と通信の地殻変動/ 2012-02-11 17:28:03
今日の主要記事
-
東京地裁の判決にDeNAが「直ちに控訴」--釣りゲーム訴訟
-
ソーシャルギフトサービス「mixiバースデー」--まずはデジタルコンテンツから
-
アップルやグーグルなど6社、アプリのプライバシー保護強化に合意
-
デジタルガレージ、米企業と提携--ブランド広告技術を日本で展開
-
DeNAの釣りゲーム配信差し止めを東京地裁認める--賠償金は2億円以上
デジタル製品主要記事
Exifデータに著作権情報を設定可能に--リコー、GR DIGITAL IV向けファームウェア
ウィルコム、PHS「WX01S」とスマホ「005SH」を2月24日からセットで
モジラ、Mobile World Congressでアプリストアを発表へ
Brandywine、「iPhone」のボイスメールをめぐりアップルを提訴
Android版「Google Docs」、リアルタイムで共同編集が可能に
「iPhone」組み立てコストが明らかに?--報道番組からアナリストが試算
特集 by 楽天市場







