てんやわんやXHTML

朝ごはんがあまり体に良くないと聞いてショックなKameです。

社内でガイドラインを策定するにあたって、HTML5での閉じ「/」をどうするかという議論が巻き起こりました。
好み云々、ファイル容量云々の話がありましたが、気になったので閉じ「/」を使う理由となったXHTMLを調べてみようと思いました。
XHTMLについての知識はひと通り持ち合わせていると思っていたのですが、かなり甘かったです。お恥ずかしい。

XHTMLのメリット

何かXHTMLを使うのが主流というような風潮があり、あまりメリットなんかを意識していたかったように思います。

XHTMLのメリットは調べると諸説様々あるようですが、やはり一番はXMLであるということです。
XHTMLであれば、名前空間を指定してMathMLやSVGも利用できますし(HTML5では普通に使えます)、XSLTなどのツール※を使いデータを抽出し、よりセマンティックにウェブを配信できます。

しかし上記に挙げたものは実務レベルで使ったことが(使う必要も)なく、現在はあまりメリットというメリットにならないかもしれません。

※ツールについては結構複雑だったので今後も調査・・・

HTML5でのXHTML

閉じ「/」問題になにか解決の糸口はないかと思って探ってみましたが、HTML5では閉じ「/」の利用が認められているので
閉じ「/」あるなしは結局XHTMLであるかどうかには決定的な要素ではないみたいです。結局は好み・・・?

HTML5では結局は従来と変わらずXML宣言があって名前空間があってXML構文でMIMEタイプがapplication/xhtml+xmlであればXHTMLなんだそうです。(当然と言えば当然)

色々と調べてみて・・・

調べれば調べるほど、XHTMLを使うメリット、はたまたちゃんと使えているのかどうかが分からなくなってきてモヤモヤしました。
自分の作っているものもXML宣言もなければMIMEタイプも違うような中途半端なものなのでいったいこいつは何なのかと。

ただXML整形式になってさえいればXSLTなどのツールも利用することができるみたいなので、頑張ってちゃんとしたXHTMLにしたとしても手間がかかるだけで現在はメリットがなさそうです。

軽い気持ちで調べてみようと思ったのですが、自分の中でうまく結論を見いだせずドツボにハマってしまいました。
もっとちゃんと理解して使えるように調査続行していきます・・。

「てんやわんやXHTML」への2件のフィードバック

  1. XHTMLにWeb制作業としての業務的な意味合いはあまり無いかもってのが本音ですね。
    僕は単純にキッチリしているコードが好きなのでタグは閉じたいw

    情報が果てしなく古いけどXMLとかXSLTとかの参考を張っておきます~

    XML文書を作ってブラウザで表示する
    http://bit.ly/NggMWP

  2. 初めまして。

    XHTML と HTML の問題は難しいですよね。私個人が思う限りでは

    1 マークアップについては HTML としても XML としても妥当なものを記述する。
    2 Content-Type については application/xhtml+xml ではなく text/html 使用する。

    以上の2点が現状においてベストではないかと思います。

    1のマークアップについては HTML としても XML としても妥当なものを記述するというのは、HTMLパーサー と XMLパーサーの両方で処理を出来るように記述するというものです。

    XML パーサーでも処理を可能としておくことは、本文に記載されている XSLT もそうですし、他にも XPath や XInclude や XML Schema, XQuery などさまざまなメリットがあります。完全な HTML に書き換えてこれらを利用不可にしてしまうのは余りにももったいないですし、また現状においてこれらを使用しなくとも 何時か必要になった時の為にも XML で記述しておくというがよいのではないかと思います。

    実際に W3C では Polyglot Markup: HTML-Compatible XHTML Documents としてガイドラインを公開しているようです。

    2については古いバージョンの Internet Explorer が存在する限り application/xhtml+xml で発信するというのはやはり現実的ではないと感じます。 application/xml として発信して XSLT をかませるやりかた もあるようですが、やはり text/html が一番無難なのではないと考える次第です。

    以上の駄文を失礼しました。

コメントは停止中です。