HTML5 XHTML どっちが

という search query できたかたがいたようなので反応してみる。こういうことする余裕が出てきたのか単なる気まぐれか…。

で、これって多分「 HTML5 を書くときは HTML4 互換な構文と XHTML1 互換な構文とどっちを使うのがいいの ? 」ってことだと思うんだけどぶっちゃけ好きな方でいいと思う。いやそもそも使ってないし詳しくないのでこういうこと言えない立場なんだけど。

迷ったときは比較をしなさい、ということで。まず HTML4 互換構文の利点・欠点。

  • merit
    • closing tag を省略できるので適度なものぐさにおすすめ
    • inline SVG や inline MathML が使える parser がある
    • XML 宣言を書かなくていい
    • 名前空間の概念を知らなくても使える
  • demerit
    • closing tag を省略できてしまうので筋金入りのものぐさにおすすめできない
    • 機械的に処理しづらい

次、XHTML1 互換構文。

  • merit
    • well-formed であることを期待していいので機械的に処理しやすい・されやすい
  • demerit
    • XML 宣言を書かないといけない
    • 名前空間の概念を知らないと SVG や MathML を使えない
    • closing tag を省略できないことがイヤな場合負担になる

まとめると HTML4 互換構文は「 XML を知らなくても使える」という点が強み。 XHTML1 互換構文は旨みが少ないようにみえるけど「 XML 関連の技術が使える」という advantage 、つまり XSLTXPath なんかを「ちゃんと」使えるという点がある、というあたりか。

あとあと楽をしたい場合 XHTML1 互換構文で書いといたほうがいいかもねーというくらいで趣味でちょっと書いてみたいとか書き捨てる気満々ですとか他の人と共有しませんとかいう場合は HTML5 互換構文で問題ないんじゃないかと思う。

あってる ?