XHTML Mobile Profile と JavaScript と XSSI

  • 投稿日:
  • by
  • カテゴリ:

このblogを含む自分のサイトのコンテンツは、全てPC上で稼動するUser Agentによって閲覧することを前提としています。 よってマークアップ言語には、XHTML1.1を採用していました。

しかし、携帯電話などから閲覧することを考えると、これはあまりよろしくありません。
本来ならコンテンツはXMLで記述して、User Agentに合わせた言語で出力するのが。好ましいのかもしれません。 オープンソースのCMSやCocoonについても調べてみたのですが、導入するのはちょっと大変そうです。

ならば最初から、携帯電話でも閲覧できる言語で記述すれば良いのではないか?と思い、やってみました。

過去には各キャリアの独自規格が並立していたましたが、現在はWAP 2.0で統一していく方向にあります。

# というのはタテマエで、実際はDoCoMoやVodafonの対応は、まだ十分ではないようです。
# でもいいんです。 自分はauなんで(笑)。

そのWAP 2.0で採用されているマークアップ言語が、XHTML Mobile Profile 1.0 です。 基本的には、XHTML Basic の上位互換であり、style要素とstyle属性、hr要素が使えるようになったのが主な違いです。

XHTML 1.1 から XHTML Mobile Profile 1.0 へ変更するにあたって、大きな修正ポイントは、
 1.table要素が簡略化されている(HTML3.2レベル)
 2.script要素が使えない
の2点です。

1.についてはcol要素や、thead/tbody/tfoot要素が使えません。 あと、table要素を入れ子にすることもできません。 col要素は結構多用するので、ちょっと大変です。 thead/tbody/tfoot要素も、ホームページビルダーなどが自動で入れてしまうので、いちいち削除する必要があります。 まあ、table要素を使うこと自体が携帯向きではないので、使わないようにするのがベストなんですが。

2.は、User Agentによってスタイルシートを切り替える為に、Java Script を使っていました。 代替案はないかと調べてみたら、CSSファイルにXSSIを適用する方法があることが分かりました。 XSSIはこれまでも使っていましたので、採用は簡単でした。 むしろ、300以上あるHTML文書から、script要素を削除する方が大変でした。

XHTML Mobile Profile 1.0 にしたからと言って、携帯電話で読めることが保障される訳ではありません。 ページサイズや画像の問題、レイアウト/見栄えの指示など、他にも解決しなければならないことはたくさんあるのですが、まずは第一歩ということで。

ちなみに、MTの場合は MT4i という携帯でアクセスできるようにするスクリプトがある訳なんですが、個人的にはSix Apart純正の物が出るまで我慢しようと思います。 でも一体いつになるのやら。

参考にした記事:
WAP記述言語戦線異状アリ!
Namamusu
しらぎくさいと