アットマーク・アイティ @IT@IT情報マネジメント@IT自分戦略研究所QA@ITイベントカレンダー  
 @IT > Master of IP Network > Mobile Connection > WAP記述言語戦線異状アリ!
 


連載:ネットワークから見たWAP 2.0(3)
WAP記述言語戦線異状アリ!


嶋 是一
2002/3/20

 

今回のおもな内容
WAP 2.0記述言語の基礎知識
WML 2.0のできた経緯
XHTML Mobile Profileの登場
KDDIのWAP 2.0サービスはどうなるか?
私たちはどうすれば?
最後に

 昨年6月に、WAPフォーラムからWAP 2.0の仕様(パブリックプレビュー版)が公開された。国内ではKDDIがいち早く新しいEZwebサービスに採用し、昨年12月からWAP 2.0に対応したサービスを開始した。仕様の公開後は、細かな部分のフィックスはあるものの、基本的な仕様に変更はないとだれもが信じていた。ところが、実際には昨年の11月にアップデートされたWAP 2.0の仕様※1を見ると、大ドンデン返しが起こっていたのだ。

 WAP 2.0の仕様が公開された当初は、「WML(Wireless Markup Language) 2.0」が標準記述言語として採用されていた(この中に、「XHTML Basic」が含まれていた)。しかし、11月にアップデートされたWAP 2.0の仕様では、WML 2.0は使わずに「XHTML Mobile Profile」が、今後作成する新たなコンテンツで使うべき「標準言語」として定められていたのだ。XHTML Mobile Profileでは、いままでのWML 1.xの概念がすべて消し去られている。

※1 編注:WAP Forum Specificationsを見ると、昨年8月以降度重なる更新を行っているのが分かる。3月19日時点での最新のWAP 2.0仕様は、Technical_WAP2_0_20020211.zip(8.6Mbytes)となっている。

 まず、これらの背景を紹介するため、WML 2.0とXHTMLを解説し、WAP 2.0の正式な記述言語がどのように変わったのかを紹介しよう。

WAP 2.0記述言語の基礎知識

WAP 2.0とXHTML Basic

 WAP 2.0で大きく変わったものの1つに、ネットワークレイヤで採用された「TCP/IP(厳密にはWireless Profiled TCP/IP)」と「HTTP(厳密にはWireless Profiled HTTP)」がある。この2つのプロトコルは、インターネット標準のプロトコルを無線対応にしたものである。記述言語においても、同様に「WAP仕様」と「インターネット標準仕様」との摺り合わせが行われている。

 WAPのページ作成には、いままでWML 1.xが使われていた。しかし、インターネット標準はHTMLであるため、新たに言語を覚えるのが嫌われ、コンテンツがあまり普及しなかった背景がある。そのためWAPでも、HTMLの流れを受け継ぐ記述言語でホームページを作りたいという要望が高まった。そこで、採用されたのがXHTML Basicである。インターネットでは、HTMLはTCP/IP上のHTTPで通信されているため、WAP 2.0との相性も良い。

 XHTMLとXHTML Basicの関係の詳細は、佐藤崇氏の書かれた「XHTMLで変わるモバイルコンテンツの世界(1)WAP 2.0で採用されたXHTML Basicを考える」で紹介されているので、参考にしてほしい。

 簡単にまとめると、XHTML 1.0はHTML 4.01の後継に当たり、HTML 4.01の仕様をXML化したものである。XHTML 1.1からは、利用されるタグが機能別に「モジュール化」されている。利用目的に応じて、これらのモジュールのセットを、追加/削除/変更し、新しい記述言語を作成してよいことになっている。これが「XHTMLファミリー」である。

 モバイル機器(つまり携帯電話)などに組み込む際に、必要最低限のタグだけを規定したXHTML Basicは、XHTMLファミリーの一員である(図1)。XHTMLそのものが、ファミリーの「本家」とすれば、XHTML Basicは「分家」である。XHTML Basicで採用されているタグについては表1(クリックすると別ウィンドウで開きます)を参考にしてほしい。

図1 XHTMLとそのファミリー
XHTMLは、利用するモジュールセットを変更するだけで新しい記述言語を作成できる。このようにして作成してできた言語集団を「XHTMLファミリー」と呼び、XHTML Basicもその一員である。

 このXHTML Basicで書いたホームページ作成方法については、「XHTMLで変わるモバイルコンテンツの世界(2)XHTML Basicを使ってWAP 2.0対応に挑戦する」を参考にしてほしい。

 なお、XHTMLなどの記述言語は、W3Cという団体で規定されている。

CSSとは

 CSSとはCascading Style Sheetsの略で、画面上のデザインに関する指定を行う記述のことである。通常はタグの中に埋め込んだり、タグ自体に属性を与えたりして、画面のデザインを行う。例えば、<div>というタグに、センタリング、背景領域水色という属性をCSSで書くと、図2のように表示される。

図2 CSSを適用した例
<div>タグの部分が、背景色が水色のセンタリングとなっているのが分かる

携帯電話向けにCSSを使う理由
 グラフィカルにWebページを構築するため、このCSSを用いる場合がよくある(この@ITのサイトも例外ではない)。CSSは、画面のデザインをリッチに(重たくするために)使われると思いがちである。そのため、一部の人からは携帯電話の小さい画面で、CSSを適用することは、ばかげているとの声を聞くことがある。しかし実際は違う。携帯コンテンツは、複数の異なる表示形式の携帯電話からのアクセスが行われる。その画面は、白黒だったり、カラーだったり、縦横サイズが違ったりする。しかし組み込み機器の閉じた世界でサービスする場合は、ユーザーの使い勝手を犠牲にすると、そのサービスはすぐに使われなくなってしまう。そのため、最大のユーザビリティを保証するためには、アクセスしてくる携帯電話ごとにコンテンツを最適化して作り直さなくてはならない。しかし、CSSがあれば、コンテンツは作り直すことなく1つでよい。使われる携帯電話に対して1つのCSSを作り、これにすべてのコンテンツを対応させるだけで、最大のユーザビリティが実現できるようになるのだ。

 W3Cでは、CSSにLevel1とLevel2の2つを規定している。Webでは、これらを利用してホームページのデザインを行う。しかし、これらのフルスペックをモバイルの組み込み機器に実装することはやりすぎである(PC用のWebブラウザですら実装が完全ではない)。モバイル機器で使われるためのCSSは、「CSS Mobile Profile」として規定されている(CSS2では、モジュール化はまだされていない)。

 WAPフォーラムでは、このCSS Mobile Profileに対して、WAPならではの属性を加えたものを「WAP CSS」とし、WAP標準CSSとして採用した(図3)。特に、CSS Mobile ProfileからWAP CSSで追加されている部分を「WAP CSS Extensions」という。主に次の機能が拡張されている。

  • マーキー仕様(文字列が流れる仕様)
  • アクセスキー(リンクにキーを割り当てる仕様)
  • 文字入力の拡張(文字タイプ指定や補完ガイド文字列)

 

図3 WAP CSSの流れ
WAP CSSは、CSS Level1と2のサブセットであるCSS Mobile ProfileとWAP CSS Extensionsで構成されている

WML 2.0のできた経緯

 昨年6月に発表されたWAP 2.0の仕様では、標準記述言語としてWML 2.0が採択されていた。そもそも、WMLとは「Wireless Markup Language」(無線の標準記述言語)なので、WAPで利用する記述言語の意味である。WAP 2.0では、従来からWAPで使われているWML 1.xに、新しくXHTML Basicが加わり、双方の記述言語を使うことができるようになっていた。しかし「2つの言語が利用できる」とすると、WAPの記述言語を示すときに、分かりにくくなる。そのため、XHTML Basicも、WMLの一部として見なすことで、WML 2.0の仕様を策定している(図4

図4 WML 2.0の構成要素

 これにより、WML 2.0には、WML 1.xと、XHTML Basicの2つが存在することとなった。この2つの言語は、XMLのネームスペースの概念で、1つのファイルの中で混在して利用できるようになった。しかしこれには1つ問題がある。例えば、XHTML BasicにもWMLにも「<br/>」というタグがある。ネームスペースが違えば、どちらを利用してもよいが、同じ仕様が2つのネームスペースに存在することは、仕様としておかしい。そのため、XHTML Basicと、WMLで重複している仕様の部分は、XHTML Basicを優先して、WML 1.xのタグは削ることとなっている。そうして残った、いままでのWML 1.xの部分を「WML Extensions」と呼ぶ。このWML Extensionsこそ、無線アクセスに適した言語仕様である。キャッシュのカードを残して、高速に画面めくり(リンク動作)が行える仕組みなどがある部分である。

 WML Extensionsの代表機能をまとめると次のようになる。

  • カードとデッキの仕組み
  • ソフトキーの定義
  • 変数の動作
  • アクティビティの仕組み(ただしこれはOpenwave Systemsが策定した特別仕様なので厳密にいえば、WMLではない)

 つまり、WML 2.0はXHTML BasicWML ExtensionsWAP CSSからできている。このように、WAP 2.0で記述する言語はWML 2.0で一本にまとまっているかに思われていた。

XHTML Mobile Profileの登場

 ところが、2001年11月にどんでん返しが起こった。WML 2.0とは別に、XHTML Mobile Profileが登場し、WAE(Wireless Application Environment:WAP記述言語などの全体を取り持つ仕様)ドキュメントに、WAP 2.0の今後のコンテンツを作るべき標準言語はXHTML Mobile Profileであると記述されたのである(図5)。

図5 WAPの標準コンテンツ記述言語
事実上、新しいコンテンツはXHTML Mobile ProfileとWAP CSSで記述することが、WAPフォーラムの決定となった

 XHTML Mobile Profileとは、基本はXHTMLファミリーの一員である。つまりXHTML Basicと並ぶ、分家の1つである。とはいってもタグセットは表2(クリックすると別ウィンドウで開きます)であり、XHTML Basicにいくつかのタグが使えるようにモジュールを追加しているだけである。ほとんどXHTML BasicとXHTML Mobile Profileは同じであるといえる。いままで、WAP仕様の中でXHTML Basicと表記していた個所のほとんどは、XHTML Mobile Profileに置き換えられた。そのため、2001年11月に公開されたWML 2.0の構成は、XHTML Mobile ProfileWML Extensionsとなった。

 WAEドキュメントでは、今後WAP 2.0のコンテンツを新しく作成する場合は、「XHTML Mobile ProfileとWAP CSSを用いて作ること」と記述されている。また、WML 2.0に関しては、過去との互換を持たせるためだけにサポートすることが必須となっている。つまり、新しく作成するコンテンツは、WML 2.0で記述することは好ましくない、とされているのだ。

 これはとりもなおさず、新しく作成するコンテンツでは、WML Extensionsが利用できないということを意味する。つまり、モバイルならではの機能がなく、通常Webの機能部分だけがWAPの標準記述言語として残った形になっている。

 そして、大きくWAP 2.0標準記述言語の方針が変わったこととなる。標準のWAP 2.0コンテンツでは、WML Extensionsを利用するネームスペース「<wml:〜>」の記述が事実上禁止となり、

  • 変数
  • カードとデッキ
  • ソフトキー

が利用できなくなる。また、移動機に搭載するブラウザも、タグが混在するページを表示できなくてもよいことになった。2つの独立したブラウザを搭載すれば、それでWAP 2.0対応と呼べるようになっている。

KDDIのWAP 2.0サービスはどうなるか?

 それでは、現在サービスが始まっているKDDIのサービスはWAP 2.0ではなくなってしまうのだろうか? それとも、KDDIのサービスが切り替わって、WML Extensionsが利用できなくなってしまうのだろうか?

 この疑問の答えは、両方ともNOである。

 結局のところ、KDDIのサービスでは、WAP 2.0をサービスできるスペックを持っている。つまり、WML 2.0でも、XHTML Mobile Profileのどちらもサービスできるスペックを持っている。WAP 2.0からみると、WML 2.0コンテンツのサポートはKDDIのオプションとして扱われるだろう。これを考えれば、KDDIのサービスの中で、どちらの記述言語を使うかは、コンテンツ作成者の選択の自由となる。乱暴にいえば、使えるものは(良いものならば)使ってしまえ!というスタンスだ。

 もしもコンテンツ作成者が、正式なWAP 2.0コンテンツとして作りたい場合は、XHTML Mobile ProfileとWAP CSSだけを使ったページ作成を行えばよい。そうすれば、ほかの事業者(現在は存在しないが)のWAP 2.0対応サービスからも閲覧することができるようになるだろう。

 一方、ユーザーの使い勝手を考えた、完成度の高いコンテンツを作成する場合には、WML 2.0を利用するとよい。XHTML Mobile Profile+WAP CSSよりも、WML2.0+WAP CSSで作成したページの方が、ユーザーに使い勝手の良いサービスを提供できるからだ。また、これを利用することによって、XHTML Mobile Profile+WAP CSSで作ったコンテンツから、より差別化を図ったコンテンツ制作ができるようになるというコンテンツ作成側のメリットもある。

 現状、KDDI以外でのWAP 2.0サービスは日本で行われていない。そのため、WAP 2.0に完全に準ずるコンテンツを作る意義は、いまのところ薄いといえる。しかし、ほかの事業者でもWAP 2.0サービスが始まり、当初のコンテンツ互換性を保持する必要が出てきたとき、意味を持ち始めるだろう。

私たちはどうすれば?

 XHTML Mobile ProfileとWAP CSSは、WAPがどちらの仕様に転んでも必要な技術である。そのため、コンテンツ作成者は、これを基本に携帯コンテンツを作成するとよいだろう。本フォーラムの「XHTMLで変わるモバイルコンテンツの世界(2)XHTML Basicを使ってWAP 2.0対応に挑戦する」に書かれた内容が参考となることには違いがない。

 そして、携帯電話用にソフトキーを定義したい場合、またはダウンロードで特別な遷移をしたい場合に、初めて将来の互換性を犠牲にして、WML Extensions(およびOpenwave Systems拡張部分)を利用するとよいだろう。

 このような標準化の動きは政治部分の色が強く、まだ落ち着いていない。しかし、日本では携帯電話の動きが速いため、策定された仕様が異常なほど早く実装されている。それ故に、そのシステム(つまりWAP)にかかわる人々は、右往左往しなくてはならないハメになっている。

 そのため、コンテンツ作成者には(コロコロと変わってしまう)政治に振り回されることのないコンテンツ作りが自衛策として必要となってくる。その技術の1つとして、XMLベースでコンテンツを作成し、XSLTで変換するという方法がある。記述言語が変わっても、影響は最小限でくい止められる工夫が必要だろう。同時にこれは、一度作成したコンテンツが資産として次に生きる仕組みでもあり、そのまま複数事業者をサポートする携帯コンテンツの構築のしやすさにも結び付く。

 もちろん、電話会社のサービスとしては、コンテンツを簡単には切り捨てられないわけで、相当の期間はサポートしてくれるだろう。

最後に

 TCP/IPとHTTPから始まったWAP 2.0でのインターネットとの融合は、W3Cとの融合を行う段階で大きく方向転換をしたといえる。できるだけインターネットとの垣根をなくすという方向性は、同時にいままで有効だった「WAPならではの特徴」も薄めてしまっている。とはいうものの、WAPのもともとのあり方は、複数事業者の間でコンテンツが共有できる共通規格を決めることである。そのためには、実は「WAPならではの特性」にこだわる必要はないのかもしれない。

 今回は記述言語よりの話を中心にしてしまったが、次回は再びネットワークレイヤのWAP 2.0の話に戻る予定だ。特に、共通化よりも、WAPでの新しい規格や仕組みについて(プッシュなど)紹介したいと思う。


「連載 ネットワークから見たWAP 2.0」


 


 
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

   
@ITトップMobile Connectionフォーラム トップ会議室利用規約プライバシーポリシーサイトマップ