WAPSimulator 1.0 リリースノート
本製品の仕様はWAP1.2に準拠しています。
以下のような機能上の制限と注意事項についてご説明いたします。
WMLブラウザ
WMLエンコーダ
WMLデコーダ
WMLScriptデバッガ
WMLScriptコンパイラ
Webサーバの設定
その他
WMLブラウザ
- XML宣言、DOCTYPE宣言
- WMLドキュメント中のXML宣言、DOCTYPE宣言を省略することはできません。日本語を使用する場合には必ずXML宣言中にencodingを指定してください。
| 例) |
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card>
.... |
- 文字エンコーディングの解釈
- WMLにおける文字エンコーディングの解釈において、metaエレメントで指定したcharsetパラメータは無視されます。HTTPのContent-Typeヘッダでcharsetパラメータを返すか、XML宣言内にencoding指定するようにしてください。
- DOCTYPE宣言
- DOCTYPE宣言はpublic IDのみチェックされます。system
IDに指定したURLは無視されます。
- WML中の強調表示指定
- <em> <strong> <b> <i> <u>
<big> <small>
などを指定した場合に表示されるフォントは、デバイス定義ファイルの設定に依存します。また、フォント名としては
Javaの論理的なフォント名のみが指定可能です。
WMLエンコーダ
- 文字エンコーディング
- 入力文字エンコーディング、出力文字エンコーディングを指定することはできません。エンコード時の入力文字エンコーディングはWMLファイル中のXML宣言から自動判別されます。出力文字エンコーディングはUTF-8となります。
-
- WBXML中の文字列の格納
- WBXML中に文字列を格納する方法として、インライン文字列とするか、文字列テーブルとするかという2つの方法をとることができますが、本製品のWMLエンコーダでは両方を併用しています:
本文は、インライン文字列として格納されます。また、属性値は、基本的に文字列テーブル、短い文字列についてはインライン文字列となります。
- WMLのバージョン
- 入力文書がWMLバージョン1.1、1.2以外であると判断された場合は、WMLバージョン1.2の仕様に従ったバイナリ値にエンコードされます。
WMLデコーダ
WMLデコーダを使用した場合、一部オリジナルのファイルと異なるテキストにデコードされる場合があります。しかしこれはバイナリWMLファイルにエンコードした時点でオリジナルのWMLドキュメント上の情報が一部失われるためであり、WAPSimulatorで表示した場合には、オリジナルのWMLドキュメントとほぼ同等に表示されます。
- XML宣言の文字エンコーディング値
- WBXMLファイルでは文字エンコーディングはMIB値で格納されるため、オリジナルのテキストで指定したエンコーディングと異なるエンコーディング名(エイリアス名など)にデコードされる場合があります。
| 例) |
encoding="X-SJIS"
を指定すると、デコード後は encoding="Shift_JIS"
となります。 |
- XML宣言の system ID
- 例) WBXMLファイルではSystem ID
は格納されないため、常に同じ値になります。
<!DOCTYPE wml PUBLIC
"-//WAPFORUM//DTD WML 1.1//EN"
"http://xxx.com/DTD/wml_1.1.xml">
|
と指定しても、常に
<!DOCTYPE wml PUBLIC
"-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
|
とデコードされます。
- デフォルトの属性値
- デフォルトの属性値はWBXMLにエンコードされる時に削除されるため、デコード後にデフォルトの属性値は復元されません。
| 例) |
<card newcontext="false">
は <card>
にデコードされます。 |
- 属性値の記述順序
- 元のWMLドキュメントに記述された属性の順序は復元されません。ただし、XMLにおいては属性の記述された順番は特に意味を持ちませんので実質的な影響はありません。
| 例) |
<setvar name="xxx"
var="yyy"/> は <setvar
var="yyy" name="xxx"/>
にデコードされる場合があります。(規則性はありません) |
- インデント
- デコードによって、インデントの位置をエンコード前のコンテンツと同一に完全に復元することはできません。また、デコード後のコンテンツをブラウザで表示した場合は自動的にインデントが設定されるため、エンコード前のコンテンツとは異なる位置に空白が挿入される可能性があります。
- 変数参照
- 変数参照に対してエスケープ方法を指定しなくても、デコード後は常にエスケープ方法が指定されます。これは、WBXML上には「エスケープ方法が指定されなかった」というトークンはないためです。 ただし明示的にした場合にはその値が使用されます。
| 例) |
<img src="$x"
alt="$y"/> は <img src="$(x:escape)"
alt="$(y:noesc)"/>
にデコードされます。 |
- CDATAセクション
- バイナリWMLファイル中にはCDATAセクションを表す構造は存在しないため、デコード後にはCDATAセクションではない、通常のテキストにデコードされます。この時、オリジナルのCDATAセクションに含まれていた
< > & などは <
> & とデコードされます。
- 文字参照
- 文字参照はオリジナルのWMLファイルをパース時に対応する文字コードに変換されるため、デコード後には単なる文字として復元されます。デコード後の文字コードに含まれない文字であれば、全く変換されません。
| 例) |
"123"
は デコード後には "123"
という文字列に変換されます。 |
WMLScriptデバッガ
- デバッグ実行に関して
- デバッガはローカルファイルに対してのみ起動することができます。
- 関数の実行
- デバッガから直接起動が可能なのはexternと宣言された関数のみです。ローカル関数を直接呼び出すことはできません。
- バイトコードのデバッグ実行
- デバッガはWMLScriptのソースコードに対してのみ使用できます。コンパイル済みのバイトコードをデバッグすることはできません。
WMLScriptコンパイラ
- 出力データサイズ制限
- 出力バイトコードサイズは65536バイト以下に制限されています。
- 文字エンコーディング
- 入力文字エンコーディング、出力文字エンコーディングを指定することはできません。コンパイル時の入力文字エンコーディングはシステムのデフォルト文字エンコーディング(日本語Windows
環境の場合はShift_JIS)、出力文字エンコーディングはUTF-8となります。
Webサーバの設定
Webサーバ上のWMLやWMLScriptファイルをWAPSimulatorで表示するためには、Webサーバ側で正しいMIMEメディアタイプを返すように設定する必要があります。
| 種類 |
MIMEメディアタイプ |
拡張子 |
| WMLファイル(テキスト) |
text/vnd.wap.wml |
wml |
| バイナリWMLファイル |
application/vnd.wap.wmlc |
wmlc |
| WMLScriptファイル(テキスト) |
text/vnd.wap.wmlscript |
wmls |
| WMLScriptバイトコードファイル |
application/vnd.wap.wmlscriptc |
wmlsc |
| WBMPファイル |
image/vnd.wap.wbmp |
wbmp |
以下に主なWebサーバでのMIMEメディアタイプの設定方法をご紹介します。詳しくは各製品のマニュアルをご覧ください。
Apacheの場合
WML/WMLScriptを格納するディレクトリに「.htaccess」というファイルを作り、以下のような内容を書き込んでください。
AddType text/vnd.wap.wml;charset=Shift_JIS
wml
AddType text/vnd.wap.wmlscript;charset=Shift_JIS
wmls
AddType application/vnd.wap.wmlc;charset=Shift_JIS
wmlc
AddType application/vnd.wap.wmlscriptc;charset=Shift_JIS
wmlsc
AddType image/vnd.wap.wbmp wbmp
|
PWS/IISの場合
レジストリ エディタ (Regedt32.exe)
を起動して次のレジストリ キーを開きます。
| HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters\MimeMap |
REG_SZ型で次の名前の値を追加してください。値のデータは空にします。
| text/vnd.wap.wml;charset=Shift_JIS,wml,,0 |
| text/vnd.wap.wmlscript;charset=Shift_JIS,wmls,,0 |
| application/vnd.wap.wmlc;charset=Shift_JIS,wmlc,,5 |
| application/vnd.wap.wmlscriptc;charset=Shift_JIS,wmlsc,,5 |
| image/vnd.wap.wbmp,wbmp,,: |
どちらの場合も、"Shift_JIS"の代わりに、コンテンツに実際に使われている文字エンコーディングを設定してください。
その他
- 設定変更後の再起動
- 設定画面でアプリケーションの設定を変更した場合、一部の機能についてはアプリケーション再起動後に変更された設定が有効になります。特にプロキシ関係の設定を変更した場合、再起動後まで設定が変化しませんのでご注意ください。
- メニューのホットキーの制限
- WAPSimulatorのメニューのうち、深い階層にある一部のメニュー(ブックマークなど)は、ショートカットキーを使用して選択することができません。その場合、マウスをご使用ください。
- インストーラのデフォルトインストールディレクトリ
- インストーラのデフォルトインストールディレクトリのディレクトリ区切り文字が、一部「/」(スラッシュ)になり、正しくインストールできないことがあります。 この場合、「/」を「\」(バックスラッシュまたは円マーク)に直してインストールしてください。
- インストーラの異常終了
- お使いの環境によっては、まれにインストーラが異常終了し、インストールができないことがあります。原因は調査中です。
この場合は、ZIPアーカイブのバージョンをダウンロードし、手動でインストールしてください。
インストール方法はこちらをご覧ください。