Doctypeを備えたすべてのHTMLページは、ページを適切にレンダリングするためにインターネット接続が必要ですか?
質問
多くのDoctypeはURLリンクを使用しています
このような
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
そして、このDTDファイルはライブURL上にあります http://www.w3.org/tr/html4/strict.dtd
このオンラインライブDTDの使用と、このURLにアクセスすることなくこのDoctypeに従って適切にレンダリングするページ(このDoctypeを使用)がどのようにレンダリングされるか(インターネットアクセスが利用できない場合は意味がありますか?)
アップデート : ウィキペディアからこの情報を見つけました http://en.wikipedia.org/wiki/system_identifier
HTMLとXMLでは、システム識別子は断片的なURI参照です。通常、ドキュメントタイプの宣言で発生します。これに関連して、1つのアプリケーションでのみ使用されるドキュメントタイプを識別することを目的としていますが、パブリック識別子は複数のアプリケーションにまたがる可能性のあるドキュメントタイプを識別することを目的としています。
次の例では、システム識別子は引用符に含まれるテキストです。
更新2: バリデーターに使用するだけですか? DreamWeaverのようなソフトウェアはどのようにオフライン検証を提供しますか?
更新3: W3Cサイトからこの情報を見つけました http://www.w3.org/qa/tips/doctype
Doctypeを指定する理由それはあなたのドキュメントが実際に使用している(x)htmlのバージョンを定義するため (どのブラウザまたはバリデーターのバージョン?), 、そしてこれはいくつかのツールが必要とする重要な情報です (どのツールですか?他のツールからバリデーター?) ドキュメントの処理。
たとえば、ドキュメントのDoctypeを指定することで、マークアップバリーターなどのツールを使用して(x)HTMLの構文を確認できます。このようなツールは、どのような種類のドキュメントを使用しているのかわからない場合、機能しません。
しかし、最も重要なことは、ブラウザのほとんどのファミリでは、Doctype宣言が多くの推測を不要にするため、「標準」レンダリングモードをトリガーすることです。
解決
いいえ、実際にDoctypeに対して取得または検証するブラウザはありません。見る DTDはWebで動作しません DTDを取得して検証するのは悪い考えである理由についての良い議論のためです。
Doctypeは、理論的には、ドキュメントが使用する標準のバージョンを伝えるためにあります。ブラウザは通常、この情報を使用しません。 癖と標準モードを切り替えます. 。すべての最新のブラウザは、URLやバージョンの情報なしで、可能な限り単純なDoctypeを受け入れます。 <!DOCTYPE html>
, 、 この目的のために;このため、 HTML5 これを推奨Doctypeとして採用しています。
Validatorsはこの情報を使用して検証するDTDを指示することがありますが、ドキュメントに埋め込まれたDTDSは、実際には検証情報を指定する非常に良い方法ではありません。ドキュメント内で参照されるDTDに対して検証することの問題は、そのドキュメントの消費者がドキュメントが自己矛盾しているかどうかはあまり気にしないが、消費者が確実に解釈する方法を知っているスキーマに従っているかどうかはあまり気にしないということです。代わりに、一般に、より強力なスキーマ言語で外部スキーマに対して検証する方が良いです ngをリラックスしてください.
バリデーターがこの情報を使用する場合、彼らは頻繁にURIを使用します 識別子 のみ、としてではありません ロケータ. 。つまり、Validatorは、一般的なHTML Doctypesのすべてをすでに知っており、参照されているURIからダウンロードする代わりに、その知識を検証に使用しています。これは、毎回DTDをダウンロードする必要があるという問題を回避するためのものであり、DTDが実際に非常に優れた検証とエラーメッセージを提供するのに十分な情報を指定していないため、バリデーターの一部をカスタムコードで指定することができますまたはより強力なスキーマ言語。詳細については、参照してください アンリ・シボネンの論文 の彼の実装について validator.nu HTML5適合チェッカー。
一部のバリデーターは、DTDをダウンロードしてからキャッシュすることもできるため、ダウンロードするにはオンラインで1回必要ですが、後でキャッシュバージョンから動作します。
他のヒント
URIはドキュメントタイプを一意に識別するためにそこにあります - それは取得用ではなく、ブラウザ(または他のソフトウェア)はそのWebアドレスに存在するドキュメントに依存する必要がありません。
私はそれについて自分自身を疑問に思っていました。しかし、独自のHTTPサーバーをお持ちの場合、それが問題ではないことを証明するのは非常に簡単です。ケーブルを外の世界に引っ張るだけで、サーバーでページを開くことができるかどうかを確認してください。