web-dev-qa-db-ja.com

なぜXHTML5ではないのですか?

したがって、HTML5は大きな一歩前進であると私は聞いています。私が認識している最後のステップは、XHTMLの導入でした。利点は明白でした:シンプルさ、厳密さ、標準のXMLパーサーとジェネレーターを使用してWebページを操作する機能など。

HTML5がどれほど不思議で苛立たしいものであるか、そのすべてを元に戻します。ここでも、非標準の構文を使用しています。ここでも、歴史的な手荷物と解析の複雑さに対処する必要があります。ここでも、標準のXMLライブラリ、パーサー、ジェネレーター、トランスフォーマーは使用できません。 XMLによって導入されたすべての利点(拡張性、名前空間、標準化など)は、W3Cが10年を費やして正当な理由で推進してきたものであり、失われています。

申し訳ありませんが、XHTML5がありますが、HTML5エンコーディングのように人気が出ていないようです。たとえば this SO question を参照してください。 HTML5仕様 でも、XHTML5ではなくHTML5がほとんどの作成者に推奨される形式であると述べています」

私の事実は間違っていますか?そうでなければ、なぜ私はこのように感じる唯一の人ですか?なぜ人々はXHTML5よりもHTML5を選ぶのですか?

54
jameshfisher

私は どのようにしてここに来ましたか? を読むことをお勧めします。 Mark Pilgrimは、HTML5までのHTMLの優れた簡単な歴史を提供しています。

基本的に、私の理解では、多くのWebページはXHTMLの "X"を利用していません。適切なMIMEタイプを指定していないためです。

25
pthesis

Xml互換のhtml5を作成し、それらをxmlとともにMIMEタイプとして送信すると、xmlパーサーが使用され、すべての優れたjazzが返されます;)

編集:いくつかの詳細については、それを参照してください: http://wiki.whatwg.org/wiki/HTML_vs._XHTML

6
deadalnix

HTML5は、Postelの法則を採用するブラウザーの論理的かつ必然的な結論です(「受け入れるものを自由にする」)。

十分な市場シェアを持つ1つのブラウザがこの原則を採用すると、他のブラウザは、準拠しないコンテンツを受け入れることによって寛大になるだけでなく、競合他社と同じようにレンダリングするという点でも追随を余儀なくされます。 HTML5はその状況の論理的な結果です。ブラウザーベンダーは、コンテンツを無効として拒否しないため(少なくとも、HTMLレベルではなく、Javascriptが別の問題です!)、コンテンツの作成者が投げかける可能性のあるすべての解釈をまとめ、同意します。この環境では、彼らは標準化オタクに好意的に反応せず、Wordからの不正なコンテンツを拒否した場合にのみ、彼らはこの混乱に陥ることはないと述べた。

あなたと私は傍観者から叫び、John Postelを信じていなかったら世界はもっと良い場所だったとブラウザベンダーとそのユーザーに告げることができますが、被害は発生し、元に戻すのは非常に困難です。

3
Michael Kay

HTML5仕様は、実際にはHTML4仕様よりも大幅に改善されています。特に、エラー条件と無効なマークアップの処理は実際には標準化されています。つまり、標準を正しく実装しているすべてのブラウザーが無効なマークアップを同じ方法で処理します。

HTMLは人間によって(通常、ある種のテンプレート言語と組み合わせて)作成されることが多く、人間は間違いを犯します。すべてのブラウザーが構文エラーを同じ方法で処理する限り、「受け入れる内容を自由にする」ルールは完全に受け入れられます。

HTMLを処理するツールとライブラリは(ほぼ)すぐに利用でき、HTMLは人間がXMLよりも記述しやすいため、有効なXMLを作成することにはほとんど利点がありません。

2
Dean Harding

とにかく、クライアント側でより単純なパーサーまたは標準のXMLツールの利点を得ることができません。

WebにはHTMLで何十億ものページがあり、そのうちのいくつかは長い間死んだ人々によって書かれているため、XMLに更新されることは決してありません。したがって、一般的に有用なユーザーエージェントを作成する場合は、haveを使用して、旧式のHTMLを解析できます。 XHTMLは、すでにサポートしているHTML解析に加えて、新しい解析モードを必要とするため、間違いなくXHTMLは追加の複雑さをもたらすだけです。

サーバー側では、たとえば、XMLツールを利用できます。 XSLTを使用してXHTMLを生成します。ただし、特にXMLツールチェーンを使用していない場合は、HTMLだけでなくXML構文を使用してもメリットはありません。

(HTMLが「非標準」の構文であることは正しくありません。HTMLの構文はHTML5仕様で入念に詳細に指定されているため、XML構文と同じくらい標準です。)

1
JacquesB