これからコーダーとして働くものです、
職業訓練でhtml5は学びましたが、html4とxhtmlの事についてよくわかりません。
特にxhtmlについては調べても何の詳しく書いているところがなく、困っています。
分かる方がいれば教えて頂ければ幸いです。
よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
#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
総合スコア14731
0
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
総合スコア21737
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
XHTMLは、XMLでHTMLを定義したものです。<br />
のような閉じタグとか、checked="checked"
のような厳密かつ冗長な記法が必要になる割には、XML準拠のメリットもあまり大きくなかったので、HTML5ができてからは完全に廃れてしまっています。
投稿2017/05/09 14:42
総合スコア145932
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。