9

多くの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ファイルはライブURLhttp ://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を指定すると、Markup Validatorなどのツールを使用して(X)HTMLの構文をチェックできます。このようなツールは、使用しているドキュメントの種類がわからないと機能しません。

しかし、最も重要なことは、ほとんどのブラウザーファミリーでは、Doctype宣言によって多くの推測が不要になり、「標準」レンダリングモードがトリガーされることです。

4

3 に答える 3

14

いいえ、実際にDoctypeに対してフェッチまたは検証するブラウザはありません。DTDのフェッチと検証が悪い考えである理由についての良い議論については、DTDがWeb上で機能しないを参照してください。

理論的には、ドキュメントが使用する標準のバージョンを示すために、Doctypeがあります。ブラウザは通常、癖と標準モードを切り替える以外に、この情報を使用しません。<!DOCTYPE html>最新のブラウザはすべて、この目的のために、URLやバージョン情報を含まない、可能な限り単純なDoctypeを受け入れます。このため、HTML5はこれを推奨されるDoctypeとして採用しています。

バリデーターは、この情報を使用して検証するDTDを指示することがありますが、ドキュメントに埋め込まれているDTDは、実際には検証情報を指定するための非常に優れた方法ではありません。ドキュメント内で参照されるDTDに対して検証する際の問題は、そのドキュメントのコンシューマーが、ドキュメントが自己矛盾のないものであるかどうかではなく、コンシューマーが確実に解釈する方法を知っているスキーマに従っているかどうかをあまり気にしないことです。代わりに、 RELAX NGのようなより強力なスキーマ言語で、外部スキーマに対して検証することをお勧めします。

バリデーターがこの情報を使用する場合、URIはロケーターとしてではなく、識別子としてのみ使用されることがよくあります。つまり、バリデーターは一般的なHTML doctypeのすべてをすでに知っており、参照されているURIからダウンロードする代わりに、その知識を検証に使用します。これは、DTDを毎回ダウンロードしなければならないという問題を回避するためです。また、DTDは、非常に優れた検証およびエラーメッセージを提供するのに十分な情報を実際に指定しないため、バリデーターの一部をカスタムコードで指定できます。またはより強力なスキーマ言語。詳細については、 validator.nuHTML5準拠チェッカーの実装に関するHenriSivonenの論文を参照してください。

一部のバリデーターは、DTDをダウンロードしてからキャッシュする場合もあるため、ダウンロードするには一度オンラインにする必要がありますが、後でキャッシュされたバージョンから機能します。

于 2009-12-31T19:36:49.167 に答える
2

URIは、ドキュメントタイプを一意に識別するためにあります。これは取得を目的としたものではなく、ブラウザ(または他のソフトウェア)がそのWebアドレスに存在するドキュメントに依存することはできません。

于 2009-12-31T19:37:59.133 に答える
0

私はそれについて自分で疑問に思っていました。ただし、独自のHTTPサーバーがある場合は、それが問題ではないことを証明するのは非常に簡単です。ケーブルを外の世界に引っ張って、サーバーでページを開くことができるかどうかを確認してください。

于 2009-12-31T19:39:47.650 に答える