アプリ版:「スタンプのみでお礼する」機能のリリースについて

最初のHTMLの宣言の各部分の意味を教えてください。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

最初のDOCTYPEはタグだということはわかるのですが
それ以外、例えばPUBLICや『-』や『//』DTD,EN、最後のURLなどの意味がわからないです。

A 回答 (3件)

HTML4.01で定義されている DOCTYPE 宣言は次の3つがあります。



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
           "http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
           "http://www.w3.org/TR/html4/loose.dtd">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
           "http://www.w3.org/TR/html4/frameset.dtd">

この3つの使い分けですが、

1番目の Strict-DTD を指定する場合は、このDOCTYPE宣言を記述した文書においては、HTML4.01で推奨されている要素(Element)と属性(Attribute)を用いて記述したHTML文書でなければいけません。

2番目の Transitional-DTD は、Strict-DTD + Strictで非推奨とされている要素と属性を用いて記述したHTML文書の場合に指定します

3番目の Frameset-DTD は、その名の通りフレームを使ったHTML文書に指定します。

この3つの違いを詳しく書くと、スペースが足りませんし、時間もかかってしまいますので、W3C の HTML 4.01 Specification を読んでください。

HTML 4.01 Specification
  http://www.w3.org/TR/html4/

HTML 4.01 Specification(日本語訳:内田さん)
  http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401 …

上記の文書を細部まで理解するのは非常に大変なことと思いますので、3つのDTDの違いがわからなければ、DOCTYPE宣言を行わないというのも手です。
※ 要するに、誤ったDOCTYPE宣言をするくらいならば(嘘を言うくらいなら)、宣言しないほうが(わかりませんと言うほうが)ベター。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
3つの違いも知りたかったので非常にためになりました。
参考URLのほうは目次を見た感じではどこに違いがあるのかわからなったので
後でじっくりと見てみようと思います。(理解できるかわからないですけど(^^;)
貴重な情報ありがとうございました!

お礼日時:2005/10/06 22:47

> 最初のDOCTYPEはタグだということはわかるのですが



いや、DOCTYPE 宣言は「タグ」じゃなくてその名のとおり「宣言」なんですけど……。

で、とりあえず意味の解説をしているページを紹介しますが、SGML に関する知識がないとちんぷんかんぷんだと思います。
http://www.kanzaki.com/docs/html/doctype.html

参考URL:http://www.kanzaki.com/docs/html/doctype.html
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
SGMLという知識は全くないですが(というより名前自体初めて知りました(^^;)
参考URL拝見させていただきます。
あとこれはタグではないんですね。私の持つHTML辞典にはタグだと書いてあったのでてっきりタグだと勘違いしておりました。
指摘してくださってありがとうございました!

お礼日時:2005/10/06 01:03

http://e-words.jp/w/DTD.html
DTDの意味が書かれています。
Document Type Definition 文書型定義 だそうです。

http://e-words.jp/w/W3C.html
W3Cの意味
PUBLICは公開とゆう意味です。
ENはたぶんEnglishのENだと私は思います。(自信ないです)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
それぞれの意味がなんとなくですがわかりました。
恥ずかしながらENはENDの略だと思っていました(笑)

でもこれはバージョンが変わってもHTML4.01のあたりしか変わらない
のだからいっしょ省いちゃってもいいのでは?と思ってしまいます。

お礼日時:2005/10/05 18:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!