XHTMLとHTMLの主な違いは何ですか?あなたの意見ではどちらが良いですか?その理由は?ほとんどのブラウザは両方をサポートしていますか?
[〜#〜] xhtml [〜#〜]は[〜#〜] xml [〜#〜]に基づいているため、ソースが整形式である必要があります。 XHTMLはHTMLよりも厳密であるため、レンダリングエンジンで必要な前処理は少なくなります。
XHTMLは、利点を活用するためにapplication/xhtml + xmlとして提供する必要があります。そうしないと、XHTMLは通常のHTMLとして扱われます。 XHTMLを処理できないInternet Explorerのため、Webで「application/xhtml + xml」として提供することは一般的ではありません。
これはおそらく、それぞれの違いと相対的なメリットについて読んだ最高の記事です。
HTMLとXHTMLのどちらを使用すべきか、そしてその理由は何ですか?
WHATWG wiki にはかなり技術的な比較もあります。
違いは、XHTMLはXMLに基づいており、HTMLはSGMLに基づいていることです。
ブラウザは、コンテンツタイプtext/html
で送信されるコンテンツにSGMLパーサーを使用し、application/xhtml+xml
にXMLパーサーを使用します。
SGMLパーサーを使用すると、ファイル内で構文エラーが発生しても、ブラウザーは解析を続行します。これが、非常に多くの人々がXMLに見えるファイルをブラウザに送信するときにXHTMLを実行していると考える理由です。これは、ブラウザで多くの解析エラーを引き起こし、レンダリングプロセスを遅くするため、実際には間違いです。
XMLパーサーを使用する場合、構文エラーが検出されると、ブラウザーは解析を停止し、XMLエラーを表示します。もちろん、これはHTMLコンテンツ用のXMLパーサーを備えたブラウザーにのみ当てはまります。これは、ファイルをダウンロードするだけで表示しないInternet Explorerには当てはまりません。
それなら何をすべきですか?
XMLが課す構文チェックと厳密な構造が必要な場合は、XHTMLを使用する必要があります。 XHTMLコンテンツをInternet Explorerに送信する際には、すべての問題が暗示されている間違ったコンテンツタイプで送信する必要があることに注意してください。また、ファイルに無効なコンテンツが含まれているとドキュメントが破損するため、ユーザー入力を完全に削除するように注意する必要があります。
それ以外にはHTMLを使用する必要があります。 HTMLは正常に機能し、今日では非常にサポートされている標準です。次の標準HTML 5でもSGMLベースの構文が定義されているため、これは継続します。
どの形式を選択した場合でも、構文エラーを検出するには、常に出力を検証することをお勧めします。
どちらが優れているかではありません。 HTMLはまだ開発が続けられており、HTML5は(何年もの間:)進行中であり、Webページのマルチメディアなどの新しいテクノロジーを簡単に管理するためのいくつかの新しい要素を提供しています。
一方、XHTMLはXMLの厳密さに関するものであり、物事をきれいに保つと言えます。 HTMLドキュメントの整形式(開いているすべての要素を閉じ、ツリー形式でネストする)を維持すると、XHTML/XMLの世界を最大限に活用でき、HTML形式を使用して、ドキュメントを宣言できます。 HTMLであるが、それでも「クリーン」(整形式)に保つ。それぞれを「より良い」と宣言すべきではないと思います。共存できます。それは私たちが物事を正しい方法で行うことだけです。
前述のように、XHTMLは(理論上)有効なXMLである必要があります。理論的には(実際にはそうではありませんが)、非準拠のXHTMLをブラウザーでレンダリングすべきではありません。
どちらか一方を使用することの利点はめったにありませんので、一貫して行う限り、個人的に好きな方を書いてください。将来のWeb標準となるHTML5は、XHTMLとHTML 4.01スタイルのタグの両方をサポートします(以前はオプションの「XMLシリアル化」による)。XHTML2は、ベンダーが積極的にいなくても、ほとんど死んでいるようです。それをサポートします。
違いの例は、breakタグです。
<br>
は適切なHTMLですが、要素をXMLとして検証する必要があるXHTMLでは、タグを自己クローズする必要があります。
<br />