最もシンプルなHTML仕様として知られるXHTML 1.0 ベーシックについて解説します。
コンパクト HTMLは、日本のアクセス社が中心となって策定した私的仕様であり、iモードなどの携帯端末向けHTMLとして考案されたものです。
このコンパクト HTMLは公式化を目指し、W3Cにも提出されましたが、結局技術ノートの扱いに留まり、正式に勧告されるには至りませんでした。
しかし、この投稿はW3Cにとっても決して無駄なものではありませんでした。
携帯端末はスペックが厳しいため、現行のフル規格のHTMLは実装が難しいという実情がありました。
このため端末スペックに応じて機能を削った実装を行うようになっておりました。
当然、その結果、互換性の問題が生じる事になります。
このため、最大公約数的なHTMLの仕様が望まれる事となったのです。
ちょうどその頃、既存のHTMLをXML応用言語にしたXHTMLも策定されました。
XHTMLはXMLの応用言語のため、拡張が自由であり、最大公約数的なHTMLの仕様にも相応しいものと言えました。
併せて、XHTML 1.0策定後にXHTMLの要素をカテゴリー分け(モジュール化)する作業も行われました。
これにより、更に拡張が容易になりました。
そうした状況の下で策定されたのがXHTML 1.0 ベーシックと言われる仕様です。
XHTML 1.0 ベーシックはそのままの形で実装される事は余り無く、何らかの拡張が行われて実装される事になります。
実のところ、ISO-HTMLとXHTML 1.0 ベーシックには何の関係もありません。
しかしながら、どちらも非常にシンプルなマークアップ言語となっております。
このため、ISO-HTMLの厳格な構造化の思想をXHTML 1.0 ベーシックでのマークアップに活かすと言う事も行われております。
携帯電話向けXHTMLの標準とされているXHTML モバイル・プロファイルは、XHTML 1.0 ベーシックをベースに端末の実装を考慮して拡張されたものです。
XHTML モバイル・プロファイルはXHTML 1.0 ベーシックに完全に含まれているため、XHTML 1.0 ベーシックでマークアップしても問題は無いと考えられます。
しかしながら、XHTML モバイル・プロファイルでは記述文書のMIMEタイプを独自のものとしており(application/vnd.wap.xhtml+xml)、XHTMLベーシックをそのまま用いるのは拙いかも知れません。
携帯端末でXHTML 1.0 ベーシックを使いたいのであれば、マークアップだけXHTML 1.0 ベーシックに従い、文書型宣言とMIMEタイプはXHTML モバイル・プロファイルのそれに従う方が安全でしょう。
application/xhtml+xml)にも在来HTML文書のMIMEタイプ(text/html)にも対応しております。しかしながら、WAP 2.0の仕様ではこれらのMIMEタイプへの対応はするべき(should)ものとされ、しなければならない(must)ものではなく、従って何らかの問題を来たす恐れは完全には否定し切れません。XHTMLはXMLの応用言語のため、XMLとして扱う必要があります。
すなわち、MIMEタイプを「application/xhtml+xml」とする必要があります。
application/xml」「text/xml」も間違いではありませんが、これらはXHTMLではなく一般のXMLとなるため、ハイパーリンクなどが機能しなくなる場合があります。とは言うものの、XHTML 1.0 ベーシックは在来HTMLと互換性が高いため、在来HTMLの代わりに利用しても実際に問題になる事は殆ど無いでしょう。
実際、XHTML 1.0 ベーシックを拡張して利用しているヴェンダの多くが、MIMEタイプを在来HTMLと同じ「text/html」としても良い事にしているようです。
それでも、XHTML 1.0 ベーシックではMIMEタイプを「text/html」とするのは望ましくない事だけは知っておいて下さい。
XHTML 1.0 ベーシックの文書型宣言は以下のようになります。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">