私の理解では、XHTML (1.0、1.1) も XHTML 5 も DTD を必要としませんでした。これが本当なら、ブラウザーはこの 2 つをどのように区別するのでしょうか?
ブラウザー ベンダーが (X)HTML 5 をサポートしている場合、すべての XHTML は XHTML 5 の規則に従って解釈されるとしか考えられません (XHTML 5 が XHTML 1.0 のスーパーセットであると仮定します)。これがうまくいく方法ですか?
私の理解では、XHTML (1.0、1.1) も XHTML 5 も DTD を必要としませんでした。これが本当なら、ブラウザーはこの 2 つをどのように区別するのでしょうか?
ブラウザー ベンダーが (X)HTML 5 をサポートしている場合、すべての XHTML は XHTML 5 の規則に従って解釈されるとしか考えられません (XHTML 5 が XHTML 1.0 のスーパーセットであると仮定します)。これがうまくいく方法ですか?
http://hsivonen.iki.fi/xhtml2-html5-q-and-a/から:
XHTML5 に任意の Doctype を使用できる場合、ブラウザは XHTML 1.0 と XHTML5 をどのように区別できますか?
彼らはできませんし、する必要もありません。設計上、XHTML5 を実装するユーザー エージェントは、XHTML 1.0 として作成された入力を適切に処理します。
XHTML 5 はありません。現在、HTML 4.01 と XHTML 1.0 があります。XHTML 2.0 はありません。HTML 5 のみが存在します。HTML 5 は XML 標準ではありません (つまり、HTML 5 ドキュメントは XML ドキュメントではありません)。
おそらく、HTML 5 + XML = XHTML 5を見ていると思います。HTML 5 を XML として表現できると思いますが、私の知る限り、これは非標準です。より具体的には、これはドキュメント ツリーのシリアル化方法であり、標準ではありません。
この問題を明確にするために、HTML 5 と XHTML 5 を見てみましょう - one ボキャブラリー、2 つのシリアライゼーション。タイトルからも「一語二連載」とある。X/HTML 5 チームとの会話:
XHTML 5 仕様では、「一般的に言えば、作成者は Web 上で XML を使用しようとすることを思いとどまらせる」と述べています。XHTML 5 のような XML 仕様を作成し、作成者がそれを使用するのを思いとどまらせるのはなぜですか? XML (XHTML 5) のサポートをやめないのはなぜですか?
何をするにしても、HTML 5 で XML を使用する人もいます。やることは簡単です。XML はツリー構造を記述するためのメタ言語であり、HTML 5 はツリー構造です。XML を使用して HTML 5 を記述できることは明らかです。問題は、それを指定しないと、は、それが明白であると考え、先に進み、実行すると、わずかに異なる方法で実行され、相互運用性の悪夢に見舞われることになります。代わりに、私たちは弾丸をかじり、人々がそれを行う場合にどのように機能する必要があるかを定義します.
XHTML 1.0 が標準でした。HTML 4 とは異なります。XHTML 5 と呼べるなら、それは HTML 5 文書を XML 形式で表現したにすぎません。
ブラウザはそうしません。要素は同じ名前空間に存在し、同じ意味を持ちます。ただし、WHATWG が変更することを決定した場所 (b 要素など) を除いて、ブラウザーが混乱する必要があります。
DOCTYPE (HTML5 と XHTML 1.x では異なります) で区別することは可能ですが、その存在は XHTML5 では特に必須ではありません。要素の名前空間は同じです。したがって、一般的に、それらを区別する良い方法はありません。移植可能な XHTML5 を書きたい場合は、DOCTYPE を提供するのが最善の策だと思います。