...

監修にあたって

by user

on
Category: Documents
6

views

Report

Comments

Transcript

監修にあたって
supervise :
2001/6/20 (1:3)
監修にあたって
近年、我が国においては、携帯電話・PHS 等の移動体通信需要は急速な増加を示し
ており、そのユーザー数は、2001 年 4 月末日現在、6700 万加入を超えています。まさ
に国民二人にひとりが携帯電話等を利用していることになります。これに伴い、モバ
イル環境からインターネットにアクセスしたり、電子メールを利用するためのデータ
通信の比率も年々高まっており、いわゆるモバイルインターネットユーザーは 3400 万
人を超え、これが携帯電話需要にますます拍車をかける状況となっています。
WAP(Wireless Application Protocol)とは、携帯電話や PDA 等でインターネットを
効率よく利用できるようにするために開発されたプロトコルであり、携帯端末やネッ
トワークの特質を考慮して無線環境での利用に最適化され、インターネットとの接続
性も高いことが特長です。WAP 対応の携帯端末は、現在、世界 100 ヶ国以上の国で、
約 5000 万台ほど利用されていると言われています。
WAP のプロトコルは、WAP Forum という標準化団体で作成されており、これには
世界中の通信キャリア、ISP、インターネット・通信機器サプライヤ、コンテンツ・デ
ベロッパ等約 600 社が参加しています。WAP Forum では、現在、PC インターネット
との融合、マルチメディアコンテンツの利用やモバイル・コマース、ロケーションサー
ビスと言った高度なサービスの提供を目的とした新たな次世代 WAP プロトコルの開
発が行われており、そのリリースが大いに期待されています。
本書は、ワイアレス通信技術の基礎から WAP の歴史、原理、アプリケーション環
境、携帯端末、ゲートウェイサーバー、コンテンツサーバー等の WAP システムの構
成要素、そして、WAP の実装と戦略に至るまで、幅広い WAP 関連分野を網羅してお
り、WAP の入門書として最適であると思われます。
本書の内容は、基本的に原書執筆時点(2000 年 4 月)での技術、情報に基づいてい
ますが、一部、監修者注等をつけて最新の情報に更新してあります。また、付録 B の
WML の仕様については、原書の WML1.3 Proposed version(2000 年 2 月 19 日版)に代
えて、本書では Approved Version(2000 年 7 月 7 日版)を翻訳しました。
本書を監修するにあたり、日頃から様々な指導を仰いでいる KDDI 移動体技術本部
技術開発部 渡辺文夫部長、監修作業に多大な協力をお願いした KDDI 移動体技術本部
水島修治さん、au 事業本部 千葉哲也さん、庵隆さんに心から感謝します。
平成 13 年 5 月 18 日 KDDI 株式会社 移動体技術本部 技術開発部
山崎 徳和
5
contents :
2001/6/20 (1:4)
目次
謝辞 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・11
著者について ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・13
はじめに ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・14
1 章 ワイヤレスデータ入門
18
1.1 概念 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 18
1.1.1 スペクトルと周波数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 18
1.1.2 PCS ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 20
1.1.3 回線交換接続とパケットデータ接続 ・・・・・・・・・・・・・・・・・・・・・・・・ 20
1.1.4 アナログとデジタル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 22
1.1.5 トランスポートとプロトコル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 23
1.1.6 ISO のネットワークモデル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 24
1.2 ワイヤレス技術 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 25
1.2.1 AMPS とヨーロッパのアナログ携帯電話 ・・・・・・・・・・・・・・・・・・・ 26
1.2.2 TDMA ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 26
1.2.3 CDMA ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 27
1.2.4 GSM ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 28
1.2.5 CDPD ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 28
1.3 音声/データネットワーク ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 29
1.4 今後のワイヤレス通信 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 30
2 章 WAP の簡単な歴史
32
2.1 起源 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 32
2.2 WAP Forum ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 37
2.3 WAP Forum のメンバー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 38
2.3.1 ハードウェアプロバイダ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 38
2.3.2 携帯電話サービスプロバイダ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 38
6
contents :
2001/6/20 (1:4)
目次
2.3.3 WAP インフラストラクチャクリエーター ・・・・・・・・・・・・・・・・・・ 39
2.3.4 ソフトウェアディベロッパー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 39
2.3.5 コンテンツ/サービスプロバイダ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 40
2.4 利用可能な WAP サービス ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 40
3 章 なぜ WAP なのか
42
3.1 大いなる収束 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 42
3.1.1 インターネット ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 42
3.1.2 ワイヤレス技術 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 44
3.1.3 コンピュータの性能 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 45
3.1.4 社会勢力と経済勢力 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 45
3.2 WAP デバイスの特長 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 47
3.3 WAP の必要性 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 48
4 章 WAP の概要
50
4.1 実行時の WAP ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 50
4.2 Web のトランザクションモデル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 54
4.3 WAP のトランザクションモデル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 57
4.3.1 WAP の仕組み ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 58
4.4 WAP アーキテクチャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 59
4.4.1 WAP アプリケーション環境(WAE) ・・・・・・・・・・・・・・・・・・・・・・ 61
4.4.2 ワイヤレスセッションプロトコル(WSP) ・・・・・・・・・・・・・・・・・ 61
4.4.3 ワイヤレストランザクションプロトコル(WTP) ・・・・・・・・・・ 61
4.4.4 ワイヤレストランスポートレイヤセキュリティ(WTLS) ・ 62
4.4.5 ワイヤレスデータグラムプロトコル(WDP) ・・・・・・・・・・・・・・ 62
4.4.6 ベアラー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 62
4.5 WAE ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 63
4.5.1 マイクロブラウザ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 64
4.5.2 WML ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 64
4.5.3 WMLScript ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 67
4.5.4 ワイヤレステレフォニーアプリケーションインターフェイス 68
7
contents :
2001/6/20 (1:4)
目次
5 章 WAP アプリケーション環境
69
5.1 マイクロブラウザ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 69
5.2 WML ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 70
5.2.1 要素と属性 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 70
5.2.2 デッキとカード ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 71
5.3 WML の特長 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 73
5.3.1 コンテンツ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 73
5.3.2 タスクとイベント ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 77
5.3.3 データ入力 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 80
5.3.4 そのほかの入力手段 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 82
5.4 WMLScript ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 83
6 章 WAP クライアントソフトウェア、ハードウェア、
85
Web サイト
6.1 OEM マイクロブラウザ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 85
6.1.1 UP.Browser ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 85
6.1.2 Ericsson の WAP ブラウザ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 86
6.1.3 Mobile Explorer ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 86
6.1.4 AU-System ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 87
6.2 コンシューママイクロブラウザ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 87
6.2.1 WAPMan ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 88
6.2.2 WinWAP ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 89
6.3
6.2.3 4thpass KBrowser ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 90
WAP デバイス ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 91
6.3.1 Nokia 6210/6250 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 91
6.3.2 Nokia 7110 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 92
6.3.3 Motorola ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 92
6.3.4 Ericsson R320/R380/MC218 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 94
6.3.5 MobileAccess T250 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 96
6.3.6 NeoPoint 1000/1600 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 97
6.3.7 au C407H ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 98
8
contents :
2001/6/20 (1:4)
目次
6.3.8 au C404S ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 99
6.3.9 au C313K ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 100
6.3.10 au C111SA ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 101
6.4 コンシューマ WAP サイト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 102
7 章 WAP ゲートウェイ
106
7.1 用語の注意点 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 106
7.2 WAP ゲートウェイのサービス ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 107
7.2.1 ゲートウェイの検索 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 110
7.3 セキュリティ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 110
7.3.1 プライバシー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 111
7.3.2 完全性 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 111
7.3.3 認証 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 111
7.3.4 否認防止 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 112
7.4 WAP のセキュリティ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 112
8 章 WAP のプロフィール
8.1
8.2
8.3
8.4
8.5
exo-net ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 114
MainFreight ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 117
Sky City Hotels ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 118
コンシューマのプロフィール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 120
WAP が得意とするもの ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 123
9 章 企業 WAP 戦略の実装
9.1
9.2
9.3
9.4
9.5
114
124
必要条件 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 124
アーキテクチャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 125
設計と実装 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 127
テスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 130
まとめ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 130
9
contents :
2001/6/20 (1:4)
目次
10 章 WAP のこれから
131
10.1 WAP の問題点 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 131
10.1.1 画面のサイズ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 131
10.1.2 ナビゲーション ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 132
10.1.3 データ入力 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 132
10.1.4 待ち時間 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 132
10.1.5 2種類のコンテンツ制作 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 133
10.2 問題の解決 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 133
10.2.1 画面のサイズ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 134
10.2.2 ナビゲーション ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 134
10.2.3 データ入力 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 135
10.2.4 待ち時間 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 135
10.3 次なる世代 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 135
付録 A 参考資料
137
付録 B WAP WML Ver.1.3 リファレンス
143
10
用語集
265
索引
279
writer :
2001/6/20 (1:4)
Steve Mann は、1993 年より、ソフトウェア開発者、コンサルタント、アナリスト、
モバイルコンピューティングを得意とするライターとして活躍している。『Handheld
Systems Magazine』で発行人および編集者を務めたほか、
『Programming Applications with
the Wireless Application Protocol』を執筆し、
『Advanced Palm Programming: Developing
Real World Applications』を共同執筆している(どちらも John Wiley and Sons より刊行)
。
Steve はコンピュータ科学で学士号および修士号を取得し、コンピュータ産業でのキャ
リアは 25 年に及ぶ。Steve へのご意見は、[email protected] まで。
Scott Sbihli は、モバイル、ハンドヘルド、ワイヤレスの市場で企業にコンサルティ
ングサービスと開発サービス全般を提供する、Empyrean Design Works, Inc. のプレジデ
ント。コンピュータ産業で 15 年の経験を持ち、
『Pen Computing Magazine』
、
『Handheld
Systems Magazine』、および『Handheld Computing Magazine』で執筆や寄稿を行ってい
る。Scott へのご意見は、[email protected] まで。
13
intro :
2001/6/20 (1:4)
どうやら世界はワイヤレス通信に夢中になっているようだ。2000 年半ばの時点で、
全世界に 4 億人もの携帯電話ユーザーが存在する。市場では、2002 年の終わりまでに、
この数字が 10 億を超えるだろうとみている。また、これらのユーザーの多くが、最新
のすばらしい機能を手に入れるために、古い電話機を手放して、新しい電話機を購入
するだろうとも言われている。
新しい電話機は次々と市場に送り出されるだろう。
電話機メーカー、インフラストラクチャプロバイダ、周波数スペクトルを競売にか
ける政府機関、携帯電話産業に関わっている誰もが、裕福になって、やがては引退でき
るだろうと考えている。そうなる者もいるだろうが、ほとんどはそうならないだろう。
携帯電話のユーザーはどうだろう。私たちを含め、誰もが携帯電話のユーザーの数
が数年のうちに 2 倍または 3 倍になると考える根拠は、いったい何だろう。
この秘密はインターネットにある。人々はますます移動するようになり、接続に貪
欲になっている。だが、人々が本当に望んでいるのは、移動しながら情報にアクセス
することなのだ。
WAP の説明に移ろう。WAP は携帯電話機のユーザーが携帯電話機を使ってインター
ネットベースのコンテンツのアクセスするために設計された。WAP はそれをまさに行
うための、プログラミング言語、通信プロトコル、インフラストラクチャアーキテク
チャ、仕様といった技術の寄せ集めである。
市場では、2001 年に販売される新しい携帯電話の 30%から 80%が、WAP に対応す
ると予測している。つまり、WAP 携帯電話が次々と市場に導入されるわけで、ワイヤ
レスのハードウェアとソフトウェアを扱う企業は笑いが止まらないだろう。残念なが
ら、こうした市場のばか騒ぎの最中には、いったい何が真実なのかを突き止めるのは
たいていは難しいものである。
14
intro :
2001/6/20 (1:4)
本書の構成
本書、
『The Wireless Application Protocol: A Wiley Tech Brief』は、まさにそのための
1 冊である。本書では、技術的な面から少し離れて WAP を紹介し、WAP とは何か、
WAP は何に役立つのか、会社は WAP から利益を引き出すことができるか、WAP 製品
や WAP サービスの詳しい情報はどこで入手できるのか、といった質問に答えたいと
思う。
本書の構成
本書は 10 章で構成されている。
「1 章 ワイヤレスデータ入門」では、概念、用語、
システム、略語といった面から、ワイヤレスデータ通信の基礎を簡単に紹介する。本
書における残りの章の内容は、この 1 章の内容を基本にして書かれている。
本書では、1 章から取り組むことを強くお勧めする。ワイヤレス通信業界に携わっ
ている読者は、1 章を簡単だと感じるかもしれないが、有益な情報が含まれているた
め、ぜひ読んでほしい。
本書はできれば順番に読んでほしいが、2 章以降はどの順序で読んでもかまわない。
「2 章 WAP の簡単な歴史」および「3 章 なぜ WAP なのか」では、WAP と WAP
Forum が誕生した背景について説明する。WAP Forum は、WAP の普及に取り組む国
際組織である。また、WAP こそワイヤレスデータ通信の進化の方向であると多くの
人々が考えている理由についても説明する。
「4 章 WAP の概要」では、2 つのテーマを取り上げる。まず、WAP 携帯電話とは実
際にどのようなものなのか、そしてどのように利用できるのかについて説明する。そ
の使い勝手を想像してもらえればと願っている。何といっても、WAP はユーザーのた
めのものなのだ。次に、WAP の主なコンポーネントを簡単に紹介する。この情報は、
ソフトウェアエンジニアでなくても、誰にでも簡単に理解できるものになっている。
「5 章 WAP アプリケーション環境」では、WAP のアプリケーション開発技術につい
て詳しく説明する。また、WAP の記述言語である、WML の簡単なサンプルをいくつ
か用意した。WAP アプリケーションの開発に興味があれば、この章を読んでほしい。
それほど技術的な内容ではないが、Web ページの設計を少し経験しているか、少なく
とも HTML を理解している読者に最適である。
昨今では、人はおろかペットまでもが Web サイトを持っていて、Web サイトの仕組
みについてひととおりの知識を持っている。このカテゴリに属していない場合でも、と
にかく 5 章に目を通してみよう。うれしい驚きがあるかもしれない。急に睡魔が襲っ
てきた場合は、別の章に移ってもかまわない。WAP の仕組みや、メリット、問題点を
15
intro :
2001/6/20 (1:4)
はじめに
理解するにあたって、この章はどうしても必要だというものではない。
「6 章 WAP クライアントソフトウェア、ハードウェア、Web サイト」は、ハード
ウェア、ソフトウェア、Web サイトをまとめたものだ。WAP 互換の製品やサイトをす
べて盛り込むことは困難であり、情報が多すぎること、本書が書店に並ぶまでに情報
が古くなってしまう可能性があるため、現在提供されているクライアント製品の種類
と、必要な情報を自分で見つけ出せるように Web サイトのアドレスを列挙することに
した。
「7 章 WAP ゲートウェイ」では、WAP ゲートウェイについて説明する。WAP ゲー
トウェイは、すべての WAP トランザクションが通過しなければならない、インター
ネットベースのサーバーだ。こうしたゲートウェイは、WAP を裏で支える配管の役目
を果たす。企業の IT 管理者であれば、見逃せない章である。
「8 章 WAP のプロフィール」では、3 つのエンタープライズ WAP プロジェクトと、
1 つのコンシューマ WAP サービスの個人的な体験談を紹介する。エンタープライズプ
ロフィールでは、ビジネス上の価値と実装時の問題に焦点をあてる。コンシューマプ
ロフィールでは、サービスと体験について解説する。
「9 章 企業の WAP 戦略の実装」では、WAP を会社の IT ポートフォリオに統合する
ことを検討している場合の重要なポイントを解説することで、8 章の内容を補足する。
最後の「10 章 WAP のこれから」では、WAP 市場の今後の動向を一般的な視点から
解説する。今後の WAP 仕様の詳細を 1 つ 1 つ取り上げる代わりに、ハードウェアや、
ソフトウェア、使用パターンといった全体像に焦点をあてる。また、WAP の現在の問
題点についても取り上げる。
本書の締めくくりとして、参考資料の付録を用意した。このうちの 4 分の 1 は、印
刷されているか、または Web ベースのドキュメントである。残りは、WAP 情報を検索
する場所や、製品、サービス、サービスプロバイダへのポインタなどを提供する Web
サイトである。Web ページの宿命として、これらのリソースは本書を手に取るまでに
かなり変更されているかもしれない。このリストについては、スタートポイントとと
らえてほしい。
最後に、携帯電話業界や、WAP、インターネットを対象とした、包括的な用語集を
用意した。WAP とは、実際にはワイヤレス通信のほとんどとインターネットが集結さ
れたものである。すべての基本を網羅した、包括的な用語集になっていることを願っ
ている。
16
intro :
2001/6/20 (1:4)
本書の対象読者
本書の対象読者
本書の最も重要な読者、すなわち、本書を世に導いた読者には、ワイヤレス通信業
界に携わる、さまざまな人々が含まれる。こうした人々は、WAP と呼ばれるものを何
か月も前から耳にしており、WAP について詳しく知りたいと考えている。新しい産業
の発展について知っておく必要があるが、このテーマを技術的に掘り下げようとは考
えていない人々だ。その代わりに彼らは、WAP のコンポーネントや、長所、短所につ
いて、的確な議論を交わすための入門書を求めている。また、さらに詳しい情報を入
手するための場所も求めている。
こうした読者を考慮して、本書をできるだけ一般的なものにするように努めた。本
書は、通信、コンピュータ産業、インターネットのさまざまな分野に携わる人々や、ち
またに氾濫している(収拾がつかなくなっているとも言える)技術に興味を抱いてい
る人々を対象にしている。本書は入門書であり、初心者のための手引きである。コン
ピュータや携帯電話を使用している読者や、あるいはそれらを知っているだけの読者
でも、本書の内容は参考になるだろう。
17
chapter01 :
2001/6/20 (1:4)
Wireless Application Protocol(WAP)は、すべての主要なグローバルワイヤレス通信
システムに対応するように設計されている。第 1 章では、この通信ネットワークにつ
いて説明する。WAP の説明に入る前に、基本的な通信原理をいくつか取り上げ、こう
したシステムの中で最も一般的となっているものを紹介しておこう。
まず、いくつか注意しておきたいことがある。この章では、包括的な解説は行わな
い。WAP とは何かを理解するために必要な、概念とシステムだけを取り上げる。ま
た、徹底的な解説も行わない。その概念を理解し、それらを実際に利用するのに十分
な説明にとどめる。状況によっては、概念を説明しやすいように、多少脚色が入るか
もしれない。
この章は、ワイヤレス技術のエキスパートを育成するためのものではない。だが、
ワイヤレス通信の分野に雪崩のようにどっと押しよせる略語が、降雪ぐらいに緩やか
に感じるようになるだろう。
1.1 概念
今では、さまざまなワイヤレス通信システムが使用されるようになった。携帯電話
の技術に基づいているものもあれば、人工衛星やマイクロ波技術を利用するものもあ
る。このセクションでは、WAP の仕組みを理解するために知っておかなければならな
い基本的な概念を取り上げる。
1.1.1 スペクトルと周波数
私たちのまわりの大気中には、ほとんど目に見えない波があらゆる方向に飛び交っ
ている。こうした波の大きさはさまざまだ。波の大きさは 1 秒間に波が発生する回数
18
chapter01 :
2001/6/20 (1:4)
1.1 概念
で表され、cps(cycles per second:1 秒あたりのサイクル)とも呼ばれている。1 つ
のサイクルまたは周波は、それを発見したドイツの物理学者、Heinrich Rudolph Hertz
(1875∼1894)にちなんで、ヘルツとも呼ばれている。
たとえば、ステレオを聴く場合の音波は、だいたい 20 ヘルツ(Hz)から 20 キロヘ
ルツ(1kHz=1000Hz)のあいだとなる。これら 2 つの数字は、20cps や 20000cps と表
すこともできる。これらは音の周波数領域を定義する。
1 秒間に波が発生する回数を、周波数という。ジェット機の離陸時に発生するような
低音波は、自動車のブレーキがキーッと鳴るような高音波よりも、低い周波数である。
最も低いもの(0cps)から最も高いもの(無限の cps よりも若干少ない)までを含め
た周波数を電磁スペクトルという。これはいくつかの範囲に分かれる。低いほうの側
は、聞き取れる音である。その次はラジオ周波で、だいたい 100kHz から 100GHz(10
億ヘルツ)の範囲となる。その後ろに、可視光線、紫外線、エックス線、ガンマ線が
続き、最高値は 1025 Hz に達する。
ワイヤレスデータと呼ばれる事象はすべて、およそ 800kHz から 2GHz までのラジ
オ周波スペクトルの一部を使用する。通常、ワイヤレスデータは固定周波数を使用す
るものと定義されているが、実際には、ある周波数領域を使用する場合が多い。たと
えば、このあと説明する AMPS(Advanced Mobile Phone Service)トランスポートは、
通常は 800MHz を使用することになっているが、実際に使用するのは、824MHz から
890MHz のあいだである。
電波は、それほど長い距離には伝わらない。通常は、数十キロで、遠くても数百キ
ロといったところだ。結果として、各国の代表組織や数か国を代表する組織が、各国
に分配するスペクトルやそれらの用途について取り決めを行ってきた。こうしたこと
も、ワイヤレス通信を複雑にしている原因の 1 つである。
アメリカの連邦通信委員会(FCC)は、これらの見本ともいえる組織だ。FCC はワ
イヤレス周波数を割り当て、それらの用途を規定している。FCC の慎重な協議の結果、
アメリカのほとんどの地域で、少なくとも 6 つのワイヤレス通信業者が顧客を獲得せ
んと凌ぎを削っている。また、周波数はさまざまなワイヤレス通信に割り当てられて
いるが、それらが地域ごとに異なっているため、グローバルローミングが予想外に難
しくなっている。
これ以降のセクションでは、周波数領域という面から、さまざまなシステムについ
て説明する。これから説明するように、同じシステムでも地域によって周波数が異な
ることが、混乱に拍車をかけている。
19
chapter01 :
2001/6/20 (1:4)
1 章 ワイヤレスデータ入門
1.1.2 PCS
1990 年代、アメリカの FCC は、いわゆるパーソナルコミュニケーションシステム
(PCS)に使用するため、1900MHz の新しいスペクトルを割り当てた。PCS は、全デ
ジタル方式のワイヤレス通信システムである。FCC はこのスペクトルを競売にかけ、
大小さまざまな企業が、新しい PCS システムを開発および導入しようと、それを競り
落とした。たとえば、このスペクトルの一部を競り落とした Sprint 社は、Sprint PCS ワ
イヤレスネットワークの展開を急いでいる。
残念ながら、PCS という用語は一般に正しく使用されておらず、誤解を生む可能性
がある。あえていうなら、PCS は 1900MHz を使用するワイヤレス通信ネットワーク
にすぎない。
アメリカで使用されている PCS 技術については、www.pcsdata.com を参照してほ
しい。
1.1.3 回線交換接続とパケットデータ接続
20 世紀において最も普及した個人のコミュニケーション手段は、おそらく電話だろ
う。電話の仕組みは、だれでも知っている。まず、電話をかけようと思い、相手の電
話番号をダイヤルする。相手が電話に出ることができる状態で、
(発信者番号通知サー
ビスやボイスメールスクリーンで発信者を確認したあと)あなたと話したいと思えば、
相手が電話に出る。しばらく話をして、終わったら電話を切る。
実に単純なプロセスだが、電話には私たちの目的を果たすための重要な特長が 1 つ
ある。発信者と受信者は、電話回線でつながっている。いったん電話がつながると、
電話会社は顧客が電話を切るまで、専用の回線を割り当てる。
ひと昔前は、本当に専用の電話線が利用されていた。今では電話会社の中継局で稼
働している最新のコンピュータやソフトウェアのおかげで、専用の電話線が割り当て
られることはほとんどない。それでも、電話がつながっている限り、その通話はシス
テムの容量を消費し、ほかの通話に利用することはできなくなる。回線を制御してい
るのは、ユーザーなのである。
電話での会話を船と陸地との無線通信と比較してみよう。ついでながら、この無線
通信には一般に 45MHz 帯の周波数が用いられる。回線は必ず空いていて、いつでも
利用できる状態になっている。この回線が使用されるのは、エンジンが故障した船舶
の船長が、救助を求めるためだ。船長は発信機の電源を入れ、ボタンを押し、救助の
要請を同報送信(ブロードキャスト)する。ブロードキャストは短時間回線を独占し、
20
chapter01 :
2001/6/20 (1:4)
1.1 概念
しばらくすると、ほかのだれか(願わくば、救助要請に応じただれか)が使用できる
ようになる。
これら 2 つの状況は、回線交換(Circuit Switched)とパケットデータ(Packed Data)
という、2 つの基本通信を表している。電話の場合は、電話を切るまで通話者が回線
を制御する。この間、接続は保持される。すべては通話者のもので、通話者が好きな
ように使用すればよい。電話を切ると、回線は電話をかけたいと思っている次の顧客
に切り換えられる。これが、回線交換と呼ばれるゆえんだ。
漂流している船の場合は、同じ周波数を使用する発信機を持つ者全員が、その回線
を同時に使用できる。2 人が同時にメッセージを送信した場合、メッセージは混線し
てしまう。ただし、メッセージは短く断続的であるため、2 つのメッセージが衝突す
る可能性はきわめて低い。
このように突発的で短いメッセージは、パケットデータ通信に非常に適している。
パケットデータの場合は、メッセージが短くて、量的にもほどほどの、パケットとい
うチャネル上でのわずかな時間を消費する。ユーザーがチャネルを所有するのは、パ
ケットを送信するときだけだ。
船と陸地との無線の例では、ワイヤレスの音声通信を取り上げた。しかし、おそら
く気づいていると思うが、パケットデータは一般に、データを無線伝送するためのも
のだ。パケットとは、少量のデジタルデータを含んだ、1 つの短いメッセージである。
パケットの実際のフォーマットと、パケットに含まれるデータの量は、使用するパケッ
トデータ方式によって異なる。
一般に、すべてのワイヤレス通信セッションは、回線交換データまたはパケットデー
タのどちらかに分類できる。回線交換ワイヤレス通信には、ワイヤレスデータモデム
が必要になる。ラップトップコンピュータのユーザーが、インターネットサービスプ
ロバイダ(ISP)や企業サーバーにダイヤルアップし、電子メールを無線で送受信した
い場合は、一般にこの方法を取る。回線交換のワイヤレスセッションでは、開始と停
止(セットアップとティアダウンともいう)にかなり時間がかかる。
一般に、WAP デバイスは、少なくとも数秒間の待機時間で区切られた、短くコンパ
クトな交換を通じて、インターネットサービスとやり取りする。WAP はパケットデー
タ通信に最も適しており、WAP プロトコルはそうした接続に合わせて最適化されてい
る。WAP サーバーにアクセスするにあたって、回線交換接続を使用できないこれと
いった理由はないが、接続の開始と終了に時間がかかることや、接続中の使用してい
ない時間の長さを考慮すれば、あまりよい選択とはいえないことがわかる。
21
chapter04 :
2001/6/20 (1:4)
ワイヤレス通信の歴史や WAP、こうしたプロトコルの必要性については、これまで
の説明で理解できたと思う。次は、WAP そのものを調べてみよう。この章では、簡単
なサンプルアプリケーションをいくつか紹介し、WAP のトランザクションモデルを
調べ、それをインターネットのトランザクションモデルと比較し、WAP プロトコルス
タックを簡単に紹介したあと、アプリケーションの開発方法について説明する。
4.1 実行時のWAP
最も単純に言うなら、WAP とは、WAP 対応のデバイスを使って、インターネット
ベースのコンテンツをやり取りするためのものだ。WAP は、画面が小さく入力手段が
限られた低電力デバイスで、複雑なワイヤレスデータ交換を処理するように設計され
ている。この章では、WAP のプログラミングモデルを詳しく説明するが、まずその前
に、デバイスの上で動作している WAP アプリケーションがどのようなものか、簡単
に説明しておこう。
メモ 本書では Ericsson 社の Application Designer をサンプルに使用した。Application
Designer は、Windows 95/98/NT が稼働するコンピュータで WML/WMLScript アプリ
ケーションの開発、デバッグ、シミュレーションを行うためのソフトウェア開発キット(SDK)
である。WAP の SDK はほかにもいくつか提供されているが、Nokia 社と Phone.com 社
(現 openwave 社)のものに人気がある。WAP アプリケーションを開発してみたい場合
は、www.ericsson.com/developerszone/、www.nokia.com/wap/development.html、ま
たは updev.openwave.com/などのサイトに SDK の情報が用意されている。
50
chapter04 :
2001/6/20 (1:4)
4.1 実行時の WAP
図 4-1 のアプリケーションは非常に単純なもので、
「Scott's Application」というタイ
トルと、その下にテキストを表示する。
図 4-1
単純な WAP アプリケーション
この電話機には、
[Yes]ボタンと[No]ボタン、ほかの画面に移動するための矢印
キーがある。この画面からは、アプリケーションとのやり取りが可能かどうかはわか
らないが、それは可能だ。
51
chapter04 :
2001/6/20 (1:4)
4 章 WAP の概要
[Yes]ボタンを押すと、図 4-2 のオプションメニューが表示される。このサンプル
用に設計された WML ページは、
[OK!]オプションと[Help]オプションを定義して
いる。
[prev]オプションは、WAP の標準オプションとなっている。ほとんどの Web
ブラウザにある[戻る]ボタンと一緒で、前のページに戻ってそれを参照するためのも
のだ。メニューを操作するには、矢印キーを押して選択を変更し、目当てのオプショ
ンで[Yes]ボタンを押す。
図 4-2 オプション画面
図 4-3 は、この WAP プログラムの最終画面を示している。図 4-2 のメニューで
[OK!]オプションを選択すると、図 4-3 の画面が表示される。この画面は、WAP 実
装に許された柔軟性を示すという点で興味深い。
図 4-3 さまざまな WAP スタイル
Web は、太字、斜体、下線など、テキストのいろいろなスタイルをサポートする。
WAP もこうしたスタイルをサポートするが、テキストのスタイルを実装する方法につ
いては規定していない。実際、WAP マイクロブラウザは、テキストのスタイルをいっ
52
chapter04 :
2001/6/20 (1:4)
4.1 実行時の WAP
さい実装しなくてもかまわない。図 4-3 では、タイトルのほかに 3 つの文章が表示さ
れている。
「This is big」には大きな文字で表示するためのタグが、
「This is emphasized」
は強調文字で表示するためのタグが、「Italics」には斜体で表示されるためのタグが付
いている。これが、WAP の 3 つのスタイル設定である。この Ericsson 社の電話機に組
み込まれているマイクロブラウザは、大文字と強調文字を区別せず、斜体を通常のテ
キストで表示する。これらは Ericsson 社が選択した設計だ。WAP 仕様はこうしたさま
ざまなスタイルを定義しているが、それらを実装するかどうか、どのように実装する
かについては規定していない。
メモ WAP 仕様では、マイクロブラウザのほかには、特定の WAP デバイスのユーザー
インターフェイスについては、ほとんど前提条件を規定していない。図 4-3 の Ericsson
社の電話機は、4 つの矢印キー、[Yes]ボタン、
[No]ボタンを持つ。ほかのモデルで
は、電話機の側面に上下の移動ボタンが付いているか、またはオプションを選択するた
めのビルトインジョグダイヤルが付いている。開発者がデバイスの違いに合わせてプロ
グラムを別々に開発する必要はないが、種類の異なる電話機から同じ情報を取り出すた
めの努力は必要だ。
これをほかの電話機と比較してみよう。次ページの図 4-4 は、Openwave 社の UP.Simu
lator でサンプルプログラムを実行して、Motorola i1000 Plus WAP における 2 番目と 3
番目の画面を示している。UP.Simulator は、Openwave WAP SDK に収録されている。
左の画像が示すように、タイトルは表示されず、画面の下部のオプションを選択する
ためのボタンの近くに、
[OK!]オプションが表示されている。右の画像もタイトルを
表示していないが、斜体のテキストをサポートしている。
画面のサイズや機能が異なる WAP 携帯電話を何台か使ってみれば、WAP の課題が
見えてくるだろう(見方によっては、メリットかもしれない)
。このちょっとしたアプ
リケーションは、どちらの電話機でも申し分なく動作する。WAP はそれぞれのデバイ
スの機能に適合するように設計されている。
53
chapter04 :
2001/6/20 (1:4)
4 章 WAP の概要
図 4-4
Motorola i1000 Plus 上で動作する、先ほどと同じサンプルアプリケーション
4.2 Webのトランザクションモデル
これで、スマートフォンで動作する単純なアプリケーションが、どのようなものか
わかった。先ほど述べたように、WAP は既存のインターネット技術を利用する。次
は、WAP のトランザクションについて詳しく説明する前に、インターネットの一般的
な Web トランザクションがどのように発生するのか調べてみよう。
Web のトランザクション、すなわち、ブラウザとサーバーとのやり取りは、Web ブ
ラウザに URL(Uniform Resource Locator)を入力し、Enter キーを押したときに始ま
る。URL は、Web のどこかに存在するドキュメントの名前だ。ドキュメントが存在す
る場合は、ブラウザの表示エリアに表示される。ドキュメントが存在しない場合は、
Web サーバーがエラーページを返す。図 4-5 は、Internet Explorer 5.0 に表示された、
「http://www.wapforum.org/」という URL を示している。
54
chapter04 :
2001/6/20 (1:4)
4.2 Web のトランザクションモデル
図 4-5 デスクトップ Web ブラウザに入力された URL
URL は 2 つの部分からなる。最初の部分はプロトコルだ。プロトコルは、Web ブラウ
ザと Web サーバーのあいだをメッセージがどのように伝送され、どのようにフォーマッ
トされるのかを定義する。このリクエストのプロトコルは、HTTP(Hypertext Transfer
Protocol)である。
Web ブラウザがサポートする一般的なプロトコルは、ほかにもいくつかある。たと
えば、HTTPS は HTTP のセキュリティを強化したバージョンだ。HTTPS は、インター
ネットを介してブラウザとサーバーのあいだを流れるデータをすべて暗号化する。FTP
(File Transfer Protocol)も、一般的なプロトコルの 1 つであり、ネットワークでつなが
れたコンピュータのあいだをファイルがどのように転送されるのかを定義する。
URL の 2 番目の部分は、IP(Internet Protocol)アドレスまたはドメイン名である。イ
ンターネットを使っていて、192.35.112.30 といった数字を目にしたことがあるはずだ。
これらの数字は、インターネット上でコンピュータを一意に識別するものだ。残念な
がら、人間は数字を覚えるようにはできていない。私たちにとっては名前のほうがは
るかに覚えやすいため、数字の代わりに www.nokia.com といった名前を使い、URL を
識別する。
55
appendixb :
2001/6/20 (1:5)
通告
c
Wireless
Application Protocol Forum, Ltd. 2000
利用に関する諸条件は、Wireless Application Protocol Forum Ltd. の Web サイト
(http://www.wapforum.org/what/copyright.htm)に用意されています。
免責事項
このドキュメントは予告なしに変更される可能性があります。
143
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
ドキュメントの変更点
■
■
編入された変更リクエスト
変更リクエスト
タイトル
備考
WML-IBM-20000308CacheControl
キャッシュ制御のため 新しい cache-control 属性
のバイナリトークン
の た め の バ イ ナ リ WML
トークンの追加
WML-Ericsson-2000320PbulicIdentifier
WML パブリック識別
子の訂正
WML 1.3 の SGML パブリ
ック識別子の訂正
CR-WML-v1_3-2000-0215-SEC-04
入力要素の解明
すでに選択されている CR
の再改訂
WML-IBM-20000330-r3AcceptCharset
accept-charset 属性の正
しい説明
accept-charset 属 性 の 説
明を明確化
CREC-WML-v1_3-200003-29-SEC-format-corre
ction-1
入力要素フォーマット ASCII ベース以外の文字セ
の訂正
ットに対する入力フォーマ
ットの訂正
CREC-WML-1.3-2000-0324-PHONE-format-0
入力要素フォーマット 1.3 ドラフトで過度に強化さ
れた「X」や「x」といった
フォーマットコードの規制
を緩和
WML-IBM-20000528EventOverride
イベントオーバーライ [RFC2119]でのイントリン
ドテキスト
ジックイベントのオーバー
ライドの解説における用語
の誤使用を訂正
編集上の変更
セクション
変更
11.1 ドキュメントの序文
サンプルの序文において、バージョン番号を「1.2」
から「1.3」に変更
11.4 Template 要素
WML 1.0 から残っていた大文字のエラーを修正
すべて
SCR の番号を WML 1.1 SCR と統一
すべて
無駄なページ区切りを廃止
144
appendixb :
2001/6/20 (1:5)
目次
1 目的 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 150
2 ドキュメントのステータス ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 151
2.1 著作権の告知 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 151
2.2 正誤表 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 151
2.3 コメント ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 151
2.4 ドキュメントの履歴 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 151
3 参考資料 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 152
3.1 参考となる標準 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 152
3.2 参考情報 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 153
4 定義と略語 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 153
4.1 定義 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 153
4.2 略語 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 155
4.3 デバイスの種類 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 156
5 WML と URL ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 157
5.1 URL スキーム ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 157
5.2 フラグメントアンカー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 157
5.3 相対 URL ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 158
6 WML 文字セット ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 158
6.1 参照処理モデル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 159
6.2 文字エンティティー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 160
7 WML 構文 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 161
7.1 エンティティー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 161
7.2 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 161
7.3 属性 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 162
7.4 コメント ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 162
7.5 変数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 162
7.6 大文字小文字 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 163
7.7 CDATA セクション ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 163
145
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
7.8 処理命令 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 163
7.9 エラー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 163
8 WML の基本データ型 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 164
8.1 文字データ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 164
8.2 長さ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 164
8.3 Vdata ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 164
8.4 フロー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 165
8.5 HREF ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 165
8.6 ブール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 165
8.7 数値 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 165
8.8 xml:lang ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 165
8.9 id 属性と class 属性 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 166
8.10 ContentType ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 166
9 イベントとナビゲーション ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 167
9.1 ナビゲーションとイベント処理 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 167
9.2 履歴 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 167
9.3 Postfield 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 168
9.4 Setvar 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 169
9.5 タスク ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 169
9.5.1 Go 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 170
9.5.2 Prev 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 174
9.5.3 Refresh 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 175
9.5.4 Noop 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 175
9.6 カード/デッキタスクのシャドーイング ・・・・・・・・・・・・・・・・・・・・・・ 176
9.7 Do 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 178
9.8 Anchor 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 181
9.9 A 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 183
9.10 イントリンジックイベント ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 184
9.10.1 Onevent 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 187
9.10.2 カード/デッキイントリンジックイベント ・・・・・・・・・ 187
10 状態モデル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 188
146
appendixb :
2001/6/20 (1:5)
10.1 ブラウザコンテキスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 188
10.2 Newcontext 属性 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 188
10.3 変数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 189
10.3.1 変数の代入 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 189
10.3.2 変数代入構文の解析 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 191
10.3.3 ドル記号 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 192
10.3.4 変数の設定 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 192
10.3.5 検証 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 193
10.4 コンテキストの制限 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 193
11 WML デッキの構造 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 194
11.1 ドキュメントの序文 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 194
11.2 WML 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 194
11.2.1 WML サンプル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 195
11.3 Head 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 196
11.3.1 Access 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 196
11.3.2 Meta 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 198
11.4 Template 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 199
11.5 Card 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 200
11.5.1 カードイントリンジックイベント ・・・・・・・・・・・・・・・・・ 200
11.5.2 Card 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 201
11.6 制御要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 204
11.6.1 Tabindex 属性 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 204
11.6.2 Select リスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 205
11.6.3 Input 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 213
11.6.4 Fieldset 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 220
11.7 Timer 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 221
11.7.1 Timer サンプル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 223
11.8 テキスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 224
11.8.1 ホワイトスペース ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 224
11.8.2 強調 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 224
11.8.3 段落 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 226
11.8.4 Br 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 228
147
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
11.8.5 Table 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 228
11.8.6 Tr 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 230
11.8.7 Td 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 231
11.8.8 Table サンプル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 231
11.8.9 Pre 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 232
11.9 画像 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 233
12 ユーザーエージェントセマンティクス ・・・・・・・・・・・・・・・・・・・・・・・ 235
12.1 デッキアクセス制御 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 235
12.2 省メモリの振る舞い ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 236
12.2.1 制限された履歴 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 236
12.2.2 制限されたブラウザコンテキストサイズ ・・・・・・・・・・ 236
12.3 エラー処理 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 236
12.4 不明な DTD ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 237
12.5 参照処理の振る舞い−カード間ナビゲーション ・・・・・・・・・・・・ 237
12.5.1 Go タスク ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 237
12.5.2 Prev タスク ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 238
12.5.3 Noop タスク ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 239
12.5.4 Refresh タスク ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 239
12.5.5 タスク実行の失敗 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 239
13 WML リファレンス情報 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 240
13.1 ドキュメント識別子 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 240
13.1.1 SGML パブリック識別子 ・・・・・・・・・・・・・・・・・・・・・・・・・・ 240
13.1.2 WML メディアタイプ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 240
13.2 文書型定義(DTD) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 240
13.3 予約語 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 248
14 WML のコンパクトバイナリ表現 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 249
14.1 拡張トークン ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 249
14.1.1 グローバル拡張トークン ・・・・・・・・・・・・・・・・・・・・・・・・・・・ 249
14.1.2 タグトークン ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 249
14.1.3 属性トークン ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 249
14.2 符号化セマンティクス ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 249
148
appendixb :
2001/6/20 (1:5)
14.2.1 符号化変数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 249
14.2.2 符号化タグと属性名 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 250
14.2.3 ドキュメントの検証 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 250
14.3 定数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 251
14.3.1 WML 拡張トークンの代入 ・・・・・・・・・・・・・・・・・・・・・・・・・ 251
14.3.2 タグトークン ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 252
14.3.3 属性開始トークン ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 253
14.3.4 属性値トークン ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 256
14.4 WML エンコーディングサンプル ・・・・・・・・・・・・・・・・・・・・・・・・・・・ 257
15 静的準拠ステートメント ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 260
15.1 WML ユーザーエージェント ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 260
15.1.1 文字セットとエンコーディング ・・・・・・・・・・・・・・・・・・・ 260
15.1.2 イベントとナビゲーション ・・・・・・・・・・・・・・・・・・・・・・・・ 260
15.1.3 状態モデル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 260
15.1.4 ユーザーエージェントセマンティクス ・・・・・・・・・・・・ 261
15.1.5 要素 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 261
15.1.6 画像のサポート ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 262
15.2 WML エンコーダ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 263
15.2.1 トークンテーブル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 263
15.2.2 検証 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 263
15.3 WML ドキュメント−サーバー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 263
15.4 WML ドキュメント−クライアント ・・・・・・・・・・・・・・・・・・・・・・・・・ 264
149
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
1 目的
WAP は、ワイヤレス通信ネットワークで動作するアプリケーションを開発するため
の、業界全体の仕様を定義しようという継続的な作業のたまものである。WAP Forum
の目的は、サービスアプリケーションが使用する仕様を定義することだ。ワイヤレス
市場は急速な成長を見せており、新しい顧客やサービスを開拓している。高度なサー
ビス、差別化、高速かつ柔軟なサービスの創造という課題に事業者やベンダーが対
応できるよう、WAP はトランスポート層、セッション層、アプリケーション層から
なるプロトコルを定義している。WAP アーキテクチャの詳細については、
『Wireless
Application Protocol Architecture Specification』[WAP]を参照してほしい。
本仕様は WML を定義している。WML は、[XML]をベースとする記述言語であ
り、携帯電話やポケットベルといった狭帯域のデバイスを対象とした、コンテンツや
ユーザーインターフェイスを規定するためのものである。
WML は、狭帯域の小さなデバイスの制約を考慮した上で設計されている。こうし
た制約には、次ものが含まれる。
●
小さなディスプレイと限られたユーザー入力機能
●
狭帯域のネットワーク接続
●
メモリと演算リソースの制限
WML の機能は、主に次の 5 つに分類される。
●
テキスト表示とレイアウト−太字のテキストを規定できるといった、さまざまな
フォーマット/レイアウトコマンドを含め、テキストとイメージをサポートする。
●
デッキ/カード構成メタファ− WML の情報はすべて、カードおよびデッキのコ
レクションとして編成される。カードは、1 つ以上のユーザーのやり取りを規定
する(選択メニュー、テキストの選択、またはテキスト入力フィールドなど)
。必
然的に、ユーザーは一連の WML カードを通じてナビゲーションを行い、それぞ
れのコンテンツを参照し、リクエストされた情報を入力し、選択を行い、別のカー
ドに移動する。
●
カードはデッキにまとめられる。WML デッキは、URL[RFC2396]によって識別
され、コンテンツの伝送単位であるという点で、HTML ページに似ている。
●
カード間のナビゲーションとリンク− WML には、カードやデッキのあいだでの
ナビゲーションを明示的に管理するサポートが含まれる。また、デバイスでのイ
ベント処理を提供し、ナビゲーションやスクリプトの実行に利用できるようにし
150
appendixb :
2001/6/20 (1:5)
ドキュメントのステータス
ている。WML は、
[HTML4]にあるようなアンカーリンクもサポートしている。
●
文字列のパラメータ化と状態管理− WML デッキはすべて、状態モデルを使った
パラメータ化の対象となる。文字列の代わりに変数を使用し、実行時に代入する
2
ことができる。こうしたパラメータ化によって、ネットワークリソースをより効
ドキュメントのステータス
率よく利用できるようになる。
2 ドキュメントのステータス
このドキュメントは、次の書式でダウンロードできる。
●
http://www.wapforum.org/サイトから PDF 書式で入手可能。
2.1 著作権の告知
c
Copyright
Wireless Application Protocol Forum, Ltd. 1998, 1999, 2000
利用に関する諸条件は、Wireless Application Protocol Forum Ltd. の Web サイト
(http://www.wapforum.org/docs/copyright.thm)に用意されている。
2.2 正誤表
このドキュメントに関して判明している問題点は、http://www.wapforum.org/で公
開されている。
2.3 コメント
このドキュメントに関するコメントは、http://www.wapforum.org/に公開されてい
る方法で、WAP Forum に提出することができる。
2.4 ドキュメントの履歴
ドキュメント:Wireless Markup Language(WML)
最新版:WAP-191
151
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
改訂履歴:
承認日
ドキュメント識別番号
1998 年 4 月 30 日
WAP-106 (WML 1.0)
1999 年 6 月 16 日
WAP-136 (WML 1.1)
1999 年 11 月 4 日
WAP-155 (WML 1.2)
2000 年 7 月 7 日
WAP-191 (WML 1.3)
3 参考資料
3.1 参考となる標準
[CACHE]
『WAP Caching Model Specification』
、WAP Forum、1999 年 2 月 11
日、URL:http://www.wapforum.org/
[ISO10646]
『Information Technology - Universal Multiple-Octet Coded Character
Set (UCS) - Part 1: Architecture and Basic Multilingual Plane』
、ISO/IEC
10646-1:1993
[RFC1766]
『Tags for the Identification of Languages』、H. Alvestrand、1995 年 3
月、URL:http://www.ietf.org/rfc/rfc1766.txt
[RFC2045]
『Multipurpose Internet Mail Extensions (MIME) Part One: Format of
Internet Message Bodies』、N. Freed ほか、1996 年 11 月、URL:
http://www.ietf.org/rfc/rfc2045.txt
[RFC2047]
『MIME (Multipurpose Internet Mail Extensions) Part Three: Message
Header Extensions for Non-ASCII Text』、K. Moore、1996 年 11 月、
URL:http://www.ietf.org/rfc/rfc2047.txt
[RFC2048]
『Multipurpose Internet Mail Extensions (MIME) Part Four: Reg
istration Procedures』、N. Freed ほ か 、1996 年 11 月 、URL:
http://www.ietf.org/rfc/rfc2048.txt
[RFC2068]
『Hypertext Transfer Protocol - HTTP/1.1』
、R. Fielding ほか、1997 年
1 月、URL:http://www.ietf.org/rfc/rfc2068.txt
[RFC2119]
『Key words for use in RFCs to Indicate Requirement Levels』
、S. Bradner、
1997 年 3 月、URL:http://www.ietf.org/rfc/rfc2119.txt
[RFC2388]
『Returning Values from Forms: multipart/form-data』、L. Masinter、
1998 年 8 月、URL:http://www.ietf.org/rfc/rfc2388.txt
152
appendixb :
2001/6/20 (1:5)
定義と略語
『Uniform Resource Identifiers (URI): Generic Syntax』
、T. Berners-Lee
ほか、1998 年 8 月、URL:http://www.ietf.org/rfc/rfc2396.txt
[UNICODE]
『The Unicode Standard: Version 2.0』
、The Unicode Consortium、Addi
son-Wesley Developers Press、1996 年、URL:http://www.unicode.org/
[WAE]
『Wireless Application Environment Specification』
、WAP Forum、1999
年 11 月 4 日、URL:http://www.wapforum.org/
[WAP]
『Wireless Application Protocol Architecture Specification』、WAP Fo
rum、1998 年 4 月 30 日、URL:http://www.wapforum.org/
[WBXML]
『Binary XML Content Format Specification』、WAP Forum、1999 年
11 月 4 日、URL:http://www.wapforum.org/
[WSP]
『Wireless Session Protocol』
、WAP Forum、1999 年 11 月 5 日、URL:
http://www.wapforum.org/
[XML]
『Extensible Markup Language (XML), W3C Proposed Recommendation
10-February-1998, REC-xml-19980210』
、T. Bray ほか、1998 年 2 月
10 日、URL:http://www.w3.org/TR/REC-xml
3.2 参考情報
[HDML2]
『Handheld Device Markup Language Specification』、P. King ほか、
1997 年 4 月 11 日 、URL:http://www.uplanet.com/pub/hdml_w3c/
hdml20-1.html
[HTML4]
『HTML 4.0 Specification, W3C Recommendation 18-December-1997,
REC-HTML40-971218』
、D. Raggett ほか、1997 年 9 月 17 日、URL:
http://www.w3.org/TR/REC-html40
[ISO8879]
『Information Processing - Text and Office Systems - Standard Gener
alised Markup Language (SGML)』、ISO 8879:1986
4 定義と略語
4.1 定義
本仕様では、次の用語ならびに表記規則を使用する。
本仕様に登場する、
「MUST(しなければならない)
」
、
「MUST NOT(してはならな
い)
」
、
「REQUIRED(要求される)
」
、
「SHALL(∼するものとする)
」
、
「SHALL NOT
(∼しないものとする)」、
「SHOULD(すべきである)」、
「SHOULD NOT(すべきで
153
4
定義と略語
[RFC2396]
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
はない)」、「RECOMMENDED(推奨される)」、「MAY(する場合がある)」、および
「OPTIONAL(任意である)
」は、
[RFC-2119]の記述に従って解釈される。上記の単
語が含まれていない場合は、「MUST(しなければならない)」と解釈する。
作者− WML、WMLScript、またはそのほかのコンテンツを記述、または生成する人
物またはプログラム
カード−ナビゲーションおよびユーザーインターフェイスの 1 つの単位。ユーザーに
提示する情報やユーザー入力を収集する命令などを含む場合がある。
文字エンコーディング−動詞として使用された場合の文字エンコーディングは、一連
の文字と一連のバイトとの変換を表す。名詞として使用された場合の文字エンコー
ディングは、一連のバイトを一連の文字に変換する手段を表す。一般に、WML ドキュ
メントの文字エンコーディングは、トランスポートヘッダー属性(Content-Type の
「charset」パラメータなど)
、または[XML]によって定義された XML 宣言によって
捕捉される。
クライアント−サーバーとの接続をリクエストするデバイス(またはアプリケーション)
。
コンテンツ−オリジンサーバーに保存されているデータ、またはオリジンサーバーに
よって生成されるデータ。コンテンツは一般に、ユーザーのリクエストに応じてユー
ザーエージェントが表示または解釈する。
コンテンツエンコーディング−動詞として使用された場合のコンテンツエンコーディ
ングは、コンテンツをあるフォーマットから別のフォーマットに変換する行為を指す。
一般に、変換先のフォーマットは変換元のフォーマットよりも物理的な容量を要求せ
ず、処理や保存が容易になるか、または暗号化された状態となる。名詞として使用さ
れた場合のコンテンツエンコーディングは、特定のフォーマット、エンコーディング
標準、またはエンコーディングプロセスを指す。
コンテンツフォーマット−コンテンツの実際の表現
デッキ− WML カードのコレクション。WML デッキは XML ドキュメントでもある。
デバイス−情報パケットを送受信する能力を備え、一意なデバイスアドレスを持って
いるネットワークエンティティー。指定されたコンテキストか、または複数のコンテ
キストにまたがって、クライアントまたはサーバーとして動作する。たとえば、
(サー
バーとして)複数のクライアントにサービスを提供しながら、別のサーバーのクライ
アントになることができる。
JavaScript − HTML ドキュメントに動的な振る舞いを追加するための、デファクト
標準言語。ECMAScript のもとになった技術の 1 つ
154
appendixb :
2001/6/20 (1:5)
定義と略語
マンマシンインターフェイス−ユーザーインターフェイスの同義語
オリジンサーバー−指定されたリソースが存在するか、またはリソースを作成するサー
バー。Web サーバーや HTTP サーバーとも呼ばれている。
リソース− URL で識別できるネットワークデータオブジェクトまたはネットワーク
サービス。複数の形式で提供される場合や(複数の言語、データ形式、サイズ、解像
4
度など)、ほかの方法で提供される場合がある。
プリケーション)。クライアントからの接続リクエストを受理または拒否する。
SGML − Standardised Generalised Markup Language(
[ISO8879]に定義されている)
は、ドメイン固有の記述言語のための汎用言語である。
ターミナル−情報をリクエストおよび受信する能力など、ユーザーエージェント機能
を提供するデバイス。モバイルターミナルやモバイルステーションとも呼ばれている。
トランスコード− UCS-2 から UTF-8 への変換など、ある文字セットから別の文字
セットへの変換を行う行為
ユーザー−リソースを視聴したり、あるいは利用するために、ユーザーエージェント
とやり取りする人物
ユーザーエージェント− WML、WMLScript、WTAI、またはほかのリソースを解釈
するソフトウェアまたはデバイス。テキストブラウザや、音声ブラウザ、検索エンジ
ンなどが含まれる。
WMLScript −モバイルデバイスをプログラムするためのスクリプト言語。JavaScript
スクリプト言語の一部を拡張したもの
XML − W3C 標準のインターネット記述言語。WML はこうした言語の 1 つ。XML は
SGML を部分的に制限したものである。
4.2 略語
本仕様では、次の略語を使用する。
BNF
Backus-Naur Form
HDML
Handheld Markup Language[HDML2]
HTML
HyperText Markup Language[HTML4]
HTTP
HyperText Transfer Protocol[RFC2068]
IANA
Internet Assigned Number Authority
MMI
Man-Machine Interface
155
定義と略語
サーバー− 1 つ以上のクライアントからの接続リクエストを待つデバイス(またはア
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
PDA
Personal Digital Assistant
RFC
Request For Comments
SGML
Standardised Generalised Markup Language[ISO8879]
UI
User Interface
URL
Uniform Resource Locator[RFC2396]
URN
Uniform Resource Name
W3C
World Wide Web Consortium
WAE
Wireless Application Environment[WAE]
WAP
Wireless Application Protocol[WAP]
WSP
Wireless Session Protocol[WSP]
XML
Extensible Markup Language[XML]
4.3 デバイスの種類
WML は狭帯域の小さなデバイスの制限を満たすように設計されている。こうした
デバイスは、主に 4 つの方法で特長づけられる。
●
ディスプレイのサイズ−画面のサイズが小さく、解像度が低い。電話機といった
小さなモバイルデバイスは、1 行につき 8 文字から 12 文字を数行表示するディス
プレイしか持っていない可能性がある。
●
入力デバイス−制限された入力デバイスか、または専用の入力デバイス。通常の
電話機は、数字のキーパッドのほかに、いくつかファンクションキーを備えてい
る。高機能なデバイスにはプログラマブルボタンが付いている場合があるが、マ
ウスといったポインティングデバイスはない。
●
コンピューティングリソース−省電力 CPU とわずかなメモリ。電力制限によって
制約される場合が多い。
●
狭帯域のネットワーク接続−狭帯域と長い待ち時間。300bps から 10kbps のネット
ワーク接続を使用し、5 秒から 10 秒の待ち時間を生じるデバイスも珍しくない。
本仕様は、さまざまなデバイス機能を定義するにあたって、次の用語を使用する。
●
電話機−通常のディスプレイサイズは、2 行から 10 行となっている。一般に、入
力には数字キーとファクションキーの組み合わせを使用する。コンピューティン
グリソースとネットワークスループットは、特に汎用的なコンピュータ機器と比
べて、一般に制限されている。
156
appendixb :
2001/6/20 (1:5)
WML と URL
●
PDA − PDA は、さまざまな機能を備えたデバイスである。本仕様でいう PDA は、
特にディスプレイや入力に特長を持つデバイスを指す。PDA のディスプレイは、
160 × 100 ピクセル程度の解像度をサポートする場合が多い。また、ポインティ
ングデバイスや手書き認識など、高度な機能をいくつかサポートする場合がある。
これらの用語は、大まかな解説ガイドラインを定義し、本仕様の特定のサンプルを
わかりやすくするためのものである。
5
World Wide Web は、情報とデバイスのネットワークである。本仕様の 3 つの領域
は、広範囲な相互運用性を保証する。
●
統一された名前付けモデル。名前付けは、ネットワークリソースの指定に標準的
な手段を提供する、URL を使って実装される。
[RFC2396]を参照
●
情報を伝送するための標準プロトコル(HTTP など)
●
標準的なコンテンツタイプ(HTML、WML など)
WML は、HTML や World Wide Web と同じ、参照アーキテクチャを前提としてい
る。コンテンツは URL で命名され、[WSP]といった HTTP セマンティクスを持つ
標準プロトコルを介して取り出される。URL は[RFC2396]に定義されている。URL
を規定するための文字セットも、[RFC2396]に定義されている。
WML では、URL を次の状況に使用する。
●
ハイパーリンクなどのナビゲーションを規定する場合
●
画像やスクリプトなどの外部リソースを規定する場合
5.1 URLスキーム
WML ブラウザは、
[WAE]に規定されている URL スキームを実装しなければなら
ない。
5.2 フラグメントアンカー
WML は、HTML のデファクト標準であるリソース内での位置を示すネーミング方
式を採用している。WML フラグメントアンカーは、ドキュメントの URL と、それに
157
WML と URL
5 WMLとURL
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
続くシャープ記号(#)、それに続くフラグメント識別子によって規定される。WML
はフラグメントアンカーを使って、WML デッキの WML カードをそれぞれ識別する。
フラグメントが規定されない場合、URL はデッキ全体を規定する。状況によっては、
デッキの URL がデッキの最初のカードを暗黙的に識別する場合がある。
5.3 相対URL
WML は[RFC2396]に規定されている相対 URL を採用している。[RFC2396]は
WML デッキのコンテキストにおいて相対 URL を解決するための手段を規定してい
る。WML デッキのベース URL は、デッキを識別する URL である。
6 WML文字セット
WML は XML 言語の 1 つであり、XML ドキュメントの文字セットを継承する。
SGML で言うところのドキュメント文字セットとは、その文書型に含まれうるすべて
の論理文字の集合である(
「T」という文字と、その文字を識別する固定の整数など)
。
SGML ドキュメントまたは XML ドキュメントは、こうした整数トークンの連続であ
り、それらが 1 つのドキュメントを構成しているにほかならない。
XML と WML のドキュメント文字セットは、ISO/IEC-10646 の国際文字セットであ
る(
[ISO10646]
)
。現状では、Unicode 2.0[UNICODE]に等しい。WML は、
[XML]
仕様と[ISO10646]仕様にさらに変更や拡張を加えるだろう。本仕様では、ISO10646
と Unicode を同じ意味で使用しており、どちらも同じドキュメント文字セットを指す。
完全な Unicode エンコーディング(UCS-4 など)を使って、WML デッキを符号化す
る必要はない。Unicode の正当な文字を含んだ文字エンコーディング(
「charset」
)であ
れば、利用してかまわない(US-ASCII、ISO-8859、UTF-8、Shift_JIS など)
。UTF-8
または UTF-16 で符号化されていないドキュメントは、XML 仕様に規定されている
ようにエンコーディングを宣言しなければならない。
準拠規則
WML-01
UTF-8 エンコーディング
任意
WML-02
UTF-16 エンコーディング
任意
WML-03
UCS-4 エンコーディング
任意
WML-04
そのほかの文字エンコーディング
任意
158
appendixb :
2001/6/20 (1:5)
WML 文字セット
6.1 参照処理モデル
WML ドキュメントは、
[HTML4]に定義されているように、任意の文字で符号化
される場合がある。
WML ドキュメントの文字エンコーディングは、ユーザーエージェントの性質に見
合うように、別のエンコーディング(またはトランスコード)に変換することができ
る。ただし、トランスコーディングによって情報が紛失する恐れがあるため、ユーザー
エージェントがドキュメントの元のエンコーディングをサポートする場合は、トラン
スコーディングを避けなければならない。情報を紛失する恐れがある場合は、不必要
なトランスコーディングを避ける。トランスコーティングが必要な場合は、ドキュメ
本仕様では、ユーザーエージェントがサポートしなければならない文字エンコーディ
ングを規定しない。
WML は XML アプリケーションであるため、WML ドキュメントの文字エンコー
ディングは、XML 仕様[XML]の規定に従って決定される。通常のケースでは、ド
キュメントの文字エンコーディングをいつでも検出することが可能である(それ以外
のケースでは、エラーが発生している)。ドキュメントにメタ http-equiv ステートメ
ントが存在するとしても、文字エンコーディングの決定には使用されない。
WML ドキュメントを(WBXML バイナリフォーマットなど)XML 以外のフォー
マットに変換する場合は、文字エンコーディングを判断するためにそのフォーマット
の規則が適用される。
WML ドキュメントに外部情報(HTTP または MIME など)が付随する場合、文
字エンコーディングを判断するための情報源は、複数存在する可能性がある。この
場合は、上位プロトコルの一部として、相対的な優先順位と衝突を処理するための
優先方式を規定すべきである。MIME メディアタイプ、
「text/vnd.wap.wml」および
「application/vnd.wap.wmlc」のマニュアルなどを参照してほしい。
WML の参照処理モデルは、次のとおり。ユーザーエージェントは、この処理モデ
ルか、またはそれに相当するモデルを実装しなければならない。
●
ユーザーエージェントは、それらが認識する文字エンコーディングのすべての文
字を Unicode に正しくマッピングするか、またはそれを行ったものとして動作し
なければならない。
●
エンティティーの処理はすべて、ドキュメント文字セットで行われる。
159
WML 文字セット
ントをユーザーエージェントに配信する前に行う。
6
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
実装には、便利な内部表記はどれも選択されるべきである。
準拠規則
WML-05
参照処理
必須
6.2 文字エンティティー
指定された文字エンコーディングでは、ドキュメント文字セットのすべての文字を
表現できない場合がある。このようなエンコーディングや、デバイスの特長のせいで
ユーザーが一部のドキュメント文字を直接入力できないという場合、作者とユーザー
は文字エンティティー([XML]文字参照など)を使用することができる。文字エン
ティティーは、ドキュメント文字セットの文字を入力するための、文字エンコーディ
ングに依存しないメカニズムである。
WML は、文字エンティティーを名前および数値でサポートする。参照処理モデル
では、数値による文字エンティティーはすべてドキュメント文字セット(Unicode)に
対して処理され、現在のドキュメントエンコーディング(charset)では処理されない
ことが重要となる。
つまり、#302; は、現在の文字エンコーディングとは無関係に、常に同じ論理文字
を参照する。
WML は次の文字エンティティーフォーマットをサポートする。
●
& や< など、名前で表される文字エンティティー
●
  など、10 進数で表される文字エンティティー
●
$#x20; など、16 進数で表される文字エンティティー
WML の処理では、名前で表される 7 つの文字エンティティーが特に重要となる。
<!ENTITY
<!ENTITY
<!ENTITY
<!ENTITY
<!ENTITY
<!ENTITY
<!ENTITY
160
quot
amp
apos
lt
gt
nbsp
shy
"&#34;">
"&#38;#38;">
"&#39;">
"&#38;#60;">
"&#62;">
"&#160;">
"&#173;">
<!-<!-<!-<!-<!-<!-<!--
疑問符 -->
アンパサンド -->
アポストロフィ -->
より小さい -->
より大きい -->
改行なしスペース -->
ソフトハイフン( 任意のハイフン ) -->
appendixb :
2001/6/20 (1:5)
WML 構文
準拠規則
WML-06
文字エンティティー
必須
7 WML構文
WML は構文構造のほとんどを XML から継承している。構文の詳細については、
[XML]を参照してほしい。
7.1 エンティティー
WML テキストには、数値または名前で表された文字エンティティーを含めること
する。エンティティーは、WML ではエスケープしなければならないか、またはテキ
ストエディタで入力することが難しい文字を規定するために使用される。たとえば、
アンパサンド(&)は&amp; という名前付きエンティティーとして表される。エンティ
ティーはすべて、アンパサンドで始まって、セミコロンで終わる。
WML は XML 言語である。つまり、アンパサンドや小なり記号をテキストデータ
に使用する場合は、エスケープしなければならないことを意味する。これらの文字が
リテラルに登場するのは、マークアップデリミタとして使用される場合や、コメント
に使用される場合のみとなる。詳しくは、[XML]を参照してほしい。
7.2 要素
要素は、WML デッキのすべてのマークアップと構造情報を規定する。要素には、開
始タグ、コンテンツ、および終了タグを追加することができる。要素は、次のどちら
かの構造を持つ。
<tag> content </tag>
または、
<tag/>
コンテンツを含んでいる要素は、開始タグ(<tag>)と終了タグ(</tag>)によっ
て識別される。空の要素タグ(<tag/>)は、コンテンツのない要素を識別する。
161
7
WML 構文
ができる。これらのエンティティーは、ドキュメント文字セットの特定の文字を規定
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
7.3 属性
WML の属性は、要素の追加情報を規定する。もう少し具体的に言うと、要素のコ
ンテンツの一部ではない、要素の情報を規定する。属性は必ず、要素の開始タグに規
定される。
<tag attr="abcd"/>
属性の名前は XML NAME であり、大文字小文字は区別される。
XML では、二重引用符(”)または単一引用符(’)のどちらかを使って、すべての
属性値を囲むことが要求される。属性値を二重引用符で括る場合は、属性値に単一引
用符を追加することができる。属性値を単一引用符で括る場合は、二重引用符を追加
することができる。また、属性値に文字エンティティーを追加することも可能である。
7.4 コメント
WML のコメントは、XML のコメントスタイルに従って、次の構文を持つ。
<!-- a comment -->
コメントは WML の作者が使用するためのもので、ユーザーエージェントの表示の
対象にすべきではない。WML のコメントを入れ子にすることはできない。
7.5 変数
WML のデッキおよびカードは、変数を使ってパラメータ化することができる。カー
ドまたはデッキを変数にするには、次の構文を使用する。
$識別子
$(識別子)
$(識別子:変換)
ホワイトスペースが変数の終わりを示さない場合は、かっこが必要である。変数構
文は、WML において最も高い優先度を持つ。つまり、変数構文が合法である場合、エ
スケープされていない「$」文字は常に変数の代入を示す。変数参照は、PCDATA のほ
か、vdata エンティティー型(セクション 8.3 を参照)が識別する属性値で合法とな
る。CDATA 型(セクション 10.3.5 を参照)の属性値では違法となる。XML はほかの属
性型(ID や NMTOKEN など)にドル記号を許可していないため、変数参照はこれらの属
性でも違法となる。
162
appendixb :
2001/6/20 (1:5)
WML 構文
2 つの連続するドル記号($$)は、CDATA 型のすべての属性値と、すべての#PDATA
テキストにおいて、単一のドル記号を表す。
変数の構文およびセマンティクスについては、セクション 10.3 を参照してほしい。
準拠規則
WML-64
変数参照は vdata 属性値でのみ有効
必須
7.6 大文字小文字
XML 言語では大文字小文字を区別する。WML はこの性質を引き継いでいる。WML
デッキを解析する際、大文字小文字を無視することは許されない。つまり、WML の
すべてのタグおよび属性で、大文字小文字が区別されることを意味する。また、列挙
WML 構文
された属性値でも、大文字小文字が区別される。
7
7.7 CDATAセクション
CDATA セクションは、テキストブロックをエスケープするためのもので、要素の内側な
ど、PCDATA において合法となる。CDATA セクションは、次に示すように、
「<![CDATA[」
という文字列で始まり、「]]>」という文字列で終わる。
<![CDATA[ this is <B> a test ]]>
CDATA セクションの内側にあるテキストは、リテラルテキストとして扱われ、マー
クアップとして解析されない。CDATA セクションは、リテラルテキストを使用したい
場合に役立つ。
CDATA セクションの詳細については、[XML]仕様を参照してほしい。
7.8 処理命令
WML は、XML 仕様に明示的に定義されているものを除き、XML 処理命令を使用
しない。
7.9 エラー
[XML]仕様は、整形式 XML ドキュメントの概念を定義している。整形式ドキュ
メントの定義を侵す XML デッキは、エラーとなる。関連情報については、セクショ
ン 14.2.3 を参照してほしい。
163
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
8 WMLの基本データ型
8.1 文字データ
WML の文字データはすべて、XML データ型で定義される。まとめると、次のよう
になる。
●
CDATA −数値または名前による文字エンティティーを含むことができるテキスト。
CDATA は属性値にのみ使用される。
●
PCDATA −数値または名前による文字エンティティーを含むことができるテキスト。
このテキストはタグを含む場合がある(PCDATA は「解析された(Parsed)CDATA」
の略称)。PCTDATA は要素にのみ使用される。
●
NMTOKEN −ネームトークン。XML 仕様に規定されているように、名前文字の任意
の組み合わせを含む。
詳しくは、[XML]を参照してほしい。
8.2 長さ
<!ENTITY % length "CDATA">
<!-- ピクセルの場合は[0-9]+
パーセンテージの場合は[0-9]+"%" -->
length 型は、キャンバス(画面、紙)のピクセル数を表す整数として、または縦横
の空き領域の割合として規定することができる。したがって、
「50」という値は、50 ピ
クセルを意味する。幅に対する「50%」という値は、水平空き領域(余白と余白のあ
いだ、キャンパスの内側など)の半分を意味する。高さに対する「50%」という値は、
垂直空き領域(現在のウィンドウ、現在のキャンパスなど)の半分を意味する。
整数値は、1 桁以上の 10 進数([0-9]
)と、それに続く任意のパーセント文字(%)
からなる。length 型は、属性値にのみ使用される。
8.3 Vdata
<!ENTITY %vdata "CDATA"
<!-- 変数参照を含む可能性のある属性値 -->
vdata 型は、変数参照(セクション 10.3 を参照)を含むことができる文字列を表す。
この型は、属性値にのみ使用される。
164
appendixb :
2001/6/20 (1:5)
WML の基本データ型
8.4 フロー
<!ENTITY % layout "br">
<!ENTITY % flow
"%text; | %layout; | img | anchor | a | table">
フロー型は、
「カードレベル」の情報を表す。一般に、フローは汎用記述を含むこと
ができる場所に使用される。
8.5 HREF
<!ENTITY %HREF "vdata;">
<!-- ハイパーテキストノードを示すURI 、URL 、
またはURN 。変数参照を含む場合がある -->
HREF 型は、相対 URL または完全 URL を参照する[RFC2396]
。詳しくは、セクショ
8
ン 5 を参照してほしい。
WML の基本データ型
8.6 ブール
<!ENTITY % boolean "(true|false)">
boolean 型は、論理値(真または偽)を参照する。
8.7 数値
<!ENTITY % number "NMTOKEN">
<!-- [0-9]+形式の数値 -->
number 型は、0 以上の整数値を表す。
8.8 xml:lang
xml:lang 属性は、要素またはその属性の、自然言語または公式言語を規定する。属
性の値は、
[RFC1766]に従う言語コードである。属性値の構文や仕様の詳細につい
ては、
[XML]を参照してほしい。属性は、ユーザーに表示される可能性のあるテキ
スト(要素のコンテンツや属性値など)が言語によって使用されていることを、ユー
ザーエージェントに示す。ユーザーエージェントは、言語の指示に従ってデータを表
示するよう、最善を尽くさなければならない。入れ子の要素は、親の言語を使用する
か、またはほかの言語を使用する。要素がテキストコンテンツとユーザーに表示され
る可能性のある属性値に基づいたテキストの両方を持つ場合、作者は両方に同じ言語
165
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
を使用しなければならない。vdata に配置される変数値は、それを含んでいる要素の
言語と一致しなければならない。
要素の言語は、次の優先順位(降順)に従って、設定されなければならない。
1. 要素に規定された xml:lang 属性に基づく。
2. 最も近い親要素が規定する xml:lang に基づく。
3. トランスポートおよびドキュメントメタデータに含まれる言語情報に基づく(詳
しくは、セクション 6.1 およびセクション 11.3.2 を参照)。
4. ユーザーエージェントのデフォルト設定に基づく。
8.9 id属性とclass属性
WML 要素はすべて、2 つの基本属性を持つ。すなわち、サーバー側での変換といっ
たタスクに使用できる、id および class である。id 属性は、単一デッキで一意な名前
を要素に提供する。class 属性は、要素を 1 つ以上のクラスに付属させる。したがっ
て、複数の要素が同じクラス名を持つ可能性がある。1 つのデッキにおいて共通のクラ
ス名を持つ要素はすべて、同じクラスに属しているとみなされる。クラス名の大文字
小文字は区別される。要素の class 属性に一意なクラス名が複数列挙される場合、そ
の要素は複数のクラスに属している可能性がある。1 つの属性に複数のクラス名を列
挙する場合は、ホワイトスペースで区切らなければならない。重複するクラス名やク
ラス名のあいだの無意味なホワイトスペースは削除できる。WML ユーザーエージェ
ントは、こうした属性を無視すべきである。
8.10 ContentType
<!ENTITY % ContentType "%vdata;">
<!-- メディアタイプ 。
変数参照を含む場合がある -->
ContentType 型は、
[RFC2045]に定義されているメディアタイプを表す。詳しく
は、セクション 9.5.1 を参照してほしい。
166
appendixb :
2001/6/20 (1:5)
イベントとナビゲーション
9 イベントとナビゲーション
9.1 ナビゲーションとイベント処理
WML には、ナビゲーションモデルとイベント処理モデルが含まれている。作者は
関連する要素を使って、ユーザーエージェントのイベントの処理を規定することがで
きる。イベントは作者によってタスクにバインドされる可能性がある。バインドされ
たタスクは、イベントの発生に応じて実行される。作者が規定した URL へのナビゲー
ションなど、さまざまなタスクの規定が可能となっている。イベントバインディング
は、do や onevent を含め、さまざまな要素で宣言される。
9.2 履歴
WML には簡単なナビゲーション履歴モデルが含まれている。作者はこのモデルを
利用して、後方ナビゲーションを手軽に効率よく制御することができる。ユーザーエー
タックとしてモデル化される。この履歴スタックでは、3 つの操作が実行できる。
●
リセット−履歴スタックを現在のカードのみを含む状態にリセットする。詳しく
は、newcontext 属性(セクション 10.2)を参照
●
プッシュ−新しいカードへのナビゲーションの結果として、新しい URL を履歴ス
タックにプッシュする。
●
ポップ−後方ナビゲーションの結果として、現在のカードの URL(スタックの先
頭)をポップする。
ユーザーエージェントは、ナビゲーション履歴を実装しなければならない。
(go 要素
の href 属性を使用するなど)明示的な URL でカードにアクセスするたびに、それが
最新のエントリと同一であっても、そのカードのエントリが履歴スタックに追加され
る。最低でも、エントリはそれぞれ、カードの完全 URL、カードにアクセスするため
に使用された手段(get または post)
、ポストフィールドの値、およびリクエストヘッ
ダーを記録しなければならない。カードのコンテンツは履歴に保存されない。変数参
照は決して履歴に保存されない。履歴データの変数参照は、エントリをスタックに追
加する前に、変数の現在の値に置き換えなければならない。
ユーザーエージェントは、prev タスクが実行された場合に(セクション 9.5.2 を参
照)
、履歴の 1 つ前のカードをユーザーに返さなければならない。prev を実行すると、
167
イベントとナビゲーション
ジェント履歴は、現在のカードにたどり着くまでのユーザーの道のりを表す、URL ス
9
appendixb :
2001/6/20 (1:5)
付録 B WAP WML Ver.1.3
履歴スタックから現在のカードの URL がポップされる。
カードがもともとは HTTP post メソッドを使って取り出されたデッキの一部で、
ユーザーエージェントがカードを確立するためにデッキをもう一度取り出さなければ
ならない場合、ユーザーエージェントは元のデッキの取り出しに関連する post データ
を再発行しなければならない。post データの値は、元のデッキの取り出しに使用した
値と同一でなければならない。prev のセマンティクスについては、セクション 12.5.2
を参照してほしい。キャッシングセマンティクスについては、
[CACHE]を参照して
ほしい。
準拠規則
WML-07
履歴
必須
9.3 Postfield要素
<!ELEMENT postfield EMPTY>
<!ATTLIST postfield
name
%vdata;
value
%vdata;
%coreattrs;
>
#REQUIRED
#REQUIRED
postfield 要素は、URL リクエストの際に、オリジンサーバーに伝送するフィール
ド名とフィールド値を規定する。名前と値の実際のエンコーディングは、オリジンサー
バーと通信するための方式に応じて異なる。
go 要素での postfield の使用については、セクション 9.5.1 を参照してほしい。
属性
name=vdata
name 属性は、フィールド名を規定する。
value=vdata
value 属性は、フィールド値を規定する。
ほかのセクションで定義されている属性
●
id(セクション 8.9 を参照)
●
class(セクション 8.9 を参照)
168
glossary :
2001/6/20 (1:5)
3G(第三世代)ワイヤレス ワイヤレス通信の開発における次の段階。第一世代
はアナログ、第二世代はデジタル(CDMA、TDMA、GSM)だった。第三世代の
システムには、
(固定およびモバイルの)高速なブロードバンドデータアプリケー
ションを提供することが期待されている。
AMPS(Advanced Mobile Phone System) アナログモバイル電話網。主にアメ
リカで使用されているが、ラテンアメリカや、オーストラリア、ニュージーラン
ド、ロシアの一部、アジア環太平洋でも使用されている。
API(Application Programming Interface) コンピュータまたは電話機システム
のオペレーティングシステムの下位レベルのサービスをリクエストまたは実行す
るために、アプリケーションプログラムが使用するソフトウェア。
ASCII(American Standard Code for Information Interchange) コンピュータと
データ通信システムが文字、数字、句読点をデジタル形式に変換するために使用
する標準コード。
AT コマンド モデムの標準コマンドセット。
bps(bit per second) データ伝送速度の単位。1 秒間に伝送される情報量を表す。
CDMA(Code Division Multiple Access) QUALCOMM 社が開発した、スペクト
ル拡散方式のデジタル伝送。CDMA では、すべての通話がデジタル化され、コー
ドでタグ付けされる。携帯電話機は、電波から正しい通話を選び出すために、特
定のコードのみを解読するよう指示される。
265
glossary :
2001/6/20 (1:5)
用語集
cdmaOne QUALCOMM 社の CDMA デジタル技術を使用する、ワイヤレス通信
業界のシステムの一種。
CDPD(Cellular Digital Packet Data) データファイルを複数の「パケット」に分
割し、既存の携帯電話音声ネットワークの未使用チャネルに送り出す、AMPS ワ
イヤレス通信ネットワークの技術。
D-AMPS(Digital Advanced Mobile Phone Service) IS-136 TDMA としても知
られるワイヤレス通信標準。アメリカ、ラテンアメリカ、ニュージーランド、ロ
シアの一部、およびアジア環太平洋で運用されているデジタル携帯電話網。
DCS 1800 1800MHz 帯の無線周波数を使用する、GSM ベースのデジタル通信シ
ステム。GSM 1800 または PCN とも呼ばれているこのデジタルネットワークは、
ヨーロッパおよびアジア環太平洋で運用されている。
DTMF(Dual Tone Multi Frequency Signal) 電話機のキーパッドを押したときに
電話機が生成する可聴信号。
EPOC Ericsson 社、Nokia 社、Psion 社、Motorola 社、および松下通信工業が提唱
している、モバイル利用のために設計されたオペレーティングシステム。
ESMR(Enhanced Specialized Mobile Radio) これまで双方向のアナログディス
パッチサービスに使用されていたチャネルを介して一般に提供される、デジタル
携帯電話サービス。SMR も参照。
ESN(Electronic Serial Number) メーカーが携帯電話機に割り当てる一意な番
号。FCC によれば、ESN はその電話機にしかない指紋のようなもので、変更不可
能な固定番号である。MIN も参照。
ETACS(Extended Total Access Communication System) イギリスで開発され、
ヨーロッパとアジアで提供されている、アナログ携帯電話網。
ETSI(European Telecommunications Standards Institute) 欧州電気通信標準化
機構。
FCC(Federal Communications Commission) アメリカの通信を統制する政府機
関。ワシントン D.C. に位置する。
FDMA(Frequency Division Multiple Access) 複数のユーザーが無線周波数帯域
266
Fly UP