Q&A
これからコーダーとして働くものです、
職業訓練でhtml5は学びましたが、html4とxhtmlの事についてよくわかりません。
特にxhtmlについては調べても何の詳しく書いているところがなく、困っています。
分かる方がいれば教えて頂ければ幸いです。
よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
回答3件
19
ベストアンサー
#TL;DR
- HTML4はHTMLの4番目のバージョンのHTMLで、構造とデザインの分離がされた。
- XHTMLはHTML4をXMLを基に再構築したもの。
- HTML5はHTML4の次のバージョンのHTMLで、ウェブアプリ開発に適していて、今から使うならこれ。
#HTML4とは
HTML4は、HTMLというウェブページの構造を定義するためのマークアップ言語の4つ目のバージョンで、1997年12月18日にW3Cから仕様が発表されました。また、XHTMLはHTML4を基にして策定されました。HTML4には、以下のような特徴が挙げられ、この前のバージョンのHTMLよりもよりHTML文書らしくなったと言えると思います。
- 表示に関係する要素や属性がCSSの影響で非推奨になる(構造とデザインの分離)。
- 3種類のDTDがある。
LISTING要素
,PLAINTEXT要素
,XMP要素
の廃止。
上で記述した3種類のDTDとは以下のもののことを指しています。
1. Strict DTD
**非推奨になった要素や属性、フレームを使用することができず、仕様を厳密に満たす必要があります。**実質的にはこれが正式なもので、ほかのDTDを宣言している場合でも、いずれStrict DTD
に移行することが理想だと思います。
HTML
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2. Transitional DTD
HTML4が策定された当時、構造とデザインの分離を掲げ、デザインに関係する要素や属性をことごとく非推奨にしました。しかし、CSSの実装が不十分だったこともあり、CSSの実装がちゃんとした水準に達するまでは非推奨の要素や属性を使用することを認める必要がありました。その解決策として、Transitional DTD
が勧告されました。これでは、非推奨の要素と属性を使用することが認められていますが、フレームは使用することができません。
HTML
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3. Frameset DTD
Frameset DTD
では、Transitional DTD
同様非推奨の要素と属性を使用することができることに加え、フレームの使用も可能です。フレームを設定する必要のある文書の場合、このDTDを定義する必要があります。
HTML
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
#XHTMLとは
XHTMLは、HTML4をXMLの仕様に従って定義しなおしたHTMLです。そのため、DTDもStrict DTD
、Transitional DTD
、Frameset DTD
の3種類が存在します。XHTMLの利点として、XHTMLはXML文書でもあるので、他のXML文書を埋め込めることや、それまでのHTMLに比べて仕様が厳格であることなどが挙げられます。しかし、2009年07月03日にXHTMLの策定が終了し、HTML5に力を注ぐ方針になったので、これから使うならば、後述のHTML5がお勧めです。
#HTML5とは
2014年10月28日に勧告されたHTMLの5番目のバージョンで、HTML4との違いは以下のようなものが挙げられます。
- 動画や音声をHTMLから扱えるようになった。
- ドラッグ&ドロップやファイル操作などのAPIが新しく追加された。
- 文書構造がより詳細に記述できるようになった。
- CSSにより可能なことが多くなった。
- DTDがなくなり、DTDに依存する機能の大半は使用できなくなった。
このように、HTML5は多くのデバイスに対応したウェブアプリケーションの開発に適しているので、現在多くのウェブページで使用されています。もしも新しくウェブページを作り始めるなら、HTML5で行うことをお勧めします。
投稿2017/05/09 17:14
総合スコア14723
9
XHTMLについてだけ補足します。
HTMLはもともとSGMLというものを基本にしていました(HTML4まで、HTML5はSGMLではありません)。HTMLをSGMLではなく、XMLで再構築したのがXHTMLです。XMLはSGMLよりも厳密な構文であるため、パーサが単純になるなど、色々利点があると考えられたから、これを推し進めようとしていました。HTML+XML=XHTMLという図式であっているのですが、実際はいくつかのバージョンがあり、それぞれ元になったHTMLが異なります。
- XHTML 1.0: XML + HTML4.01、HTML4.01を単純にXMLにしたもの。HTML4.01と同様Strict、Transitional、Framesetの3つのDTDがあります。
- XHTML Basic: 小さな端末向けに作られたサブセット、ガラケのブラウザなどで対応する物がありました。
- XHTML 1.1: XHTML 1.0をStrictのみにして、モジュール化したり、ルビを足した物。
- XHTML 2: 次期XHTMLとして制定しようとしましたが、途中で断念。
- XHTML5: HTML5のXMLバージョン。
XHTMLは無くなったわけではありません。HTML5ではSGML風の通常の書き方(しつこいようですが、SGMLそのものではありません)の他に、XMLでの書き方も制定しており、俗称としてXHTML5と言われています。機械的な処理はXMLの方が扱いやすいため、一部ではXHTML5が使われているところもあります。ただ、人が手打ちすることがメインの場合は通常のHTML5の方が書きやすいと言うこともあり、それほど多くはありません。
なお、HTML5という名称も5を削除して、今後は単にHTMLとだけ名乗るようになるようです。また、XHTMLという言葉も正式な物ではなく、単にHTMLのXML構文となるようです。
投稿2017/05/09 21:55
総合スコア21693
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
5
XHTMLは、XMLでHTMLを定義したものです。<br />
のような閉じタグとか、checked="checked"
のような厳密かつ冗長な記法が必要になる割には、XML準拠のメリットもあまり大きくなかったので、HTML5ができてからは完全に廃れてしまっています。
投稿2017/05/09 14:42
総合スコア142198
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
関連した質問
Q&A
解決済
IEはHTML5に対応できないのですか?
回答1
クリップ0
更新
2016/01/11
Q&A
受付中
spring boot でのthymeleafでの値の受渡し時にエラー
回答0
クリップ1
更新
2022/01/12
Q&A
解決済
dl ddの横並び時の余白を無くしたい
回答1
クリップ0
更新
2023/03/25
Q&A
解決済
liタグ内のaタグのクリック範囲をliに合わせる
回答3
クリップ1
更新
2016/05/16
Q&A
解決済
Android端末のブラウザでURLバーを表示しない方法はありますか?
回答3
クリップ1
更新
2016/11/09
Q&A
解決済
<input type=file>の「選択されていません」を変更したい
回答1
クリップ1
更新
2016/11/10
Q&A
解決済
HTML CSS、ボタンの文字を真ん中に表示したい
回答3
クリップ0
更新
2017/02/15
同じタグがついた質問を見る
HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。
XHTMLは、eXtensible HyperText Markup Languageの略であり、SGMLベースであるHTMLとは違って、有効なXMLドキュメントにもなるHTMLアプリケーションです。XMLベースのツールを用いて生成されるHTMLページのためによく使われるマークアップ言語です。
HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。