Wml2-tutorial
WML2.0チュートリアル
WML2は、次の構文とセマンティクスを拡張する言語です。
- XHTML Basic [XHTMLBasic]
- CSSモバイルプロファイル[CSSMP]
- WML1.0のユニークなセマンティクス[WML1.0]
WML2は、携帯電話やその他のワイヤレスモバイル端末などの機能の限られたデバイスでのプレゼンテーションとユーザーの対話を指定するために最適化されています。
このチュートリアルでは、Wireless Markup Language(WML)バージョン2の詳細を説明します。 このチュートリアルでは、WMLのバージョン2.0をWML2と呼びます。
W3Cで定義されているXHTML Basicは、XHTMLの適切なサブセットであり、XMLでのHTMLの再定式化です。
WML2の基本的な目標:
WML2には5つの主要な目標があります。
- 下位互換性: WML2アプリケーションも古いデバイスで実行する必要があります。
- 既存および進化するインターネット標準との収束: XHTML Basic [XHTMLBasic]およびCSS Mobile Profile [CSSMP]
- 小型の限られたデバイスからのアクセスの最適化: WAP対応デバイスは一般に小型でバッテリー駆動であり、メモリとCPUの電力は比較的限られています。 したがって、これらのデバイスで実行するには、WML2を十分に最適化する必要があります。
- 個別のユーザーインターフェースの作成の許可: WAPは、ベンダーがユーザーエクスペリエンスを強化するための最大限の柔軟性と能力を備えたMan Machine Interface(MMI)の作成を可能にします。
- アーキテクチャの国際化: WAPは、国際的に使用される一般的な文字コードを対象としています。 これには、エンドユーザー向けの国際的な記号と絵文字セット、およびコンテンツ開発者向けのローカル使用の文字エンコードが含まれます。
WML2ビジョン:
WML2のビジョンは、XHTML BasicおよびCSS Mobileプロファイルの構文とセマンティクスをWML1のユニークなセマンティクスで拡張する言語を作成することです。 ユーザーは、WML1の互換性がどのように達成されるかを意識してはなりません。
WML2言語構造:
WML2は、次のコンポーネントを持つ新しい言語です。
(1)XHTML Basic:
この要素グループは、W3C収束用です。 一部の要素には、WML1機能を実現するためにWML拡張属性が追加されています。
(1a)XHTML Basic要素:
ab
(1b)WML拡張属性を持つXHTML Basic要素:
body html img入力メタオプションp selectスタイルtextarea
(2)XHTMLモジュール化要素:
この要素グループは、XHTML Basicに含まれていないXHTMLモジュールからの選択要素で構成されています。 ほとんどの要素は、WML1との互換性のために含まれています。 1つの要素は、限られたハンドセット機能に適合する拡張機能として含まれています。
(2a)WML1との後方互換性のためのXHTMLモジュール化:
b big i small(プレゼンテーションモジュールから)u(レガシーモジュールから)fieldset optgroup(フォームモジュールから)
(2b)機能強化のためのXHTMLモジュール化要素:
hr
(3)WML拡張要素:
XHTML BasicまたはXHTML Modularizationでは同等の機能が提供されないため、一部の要素はWML1からもたらされます。 WML1機能の強化のために1つの要素が含まれています。
(3a)WML拡張要素(WML1との互換性のため):
wml:access wml:anchor wml:card wml:do wml:getvar wml:go wml:noop wml:onevent wml:postfield wml:prev wml:refresh wml:setvar wml:timer
(3b)WML拡張要素(機能強化用):
wml:widget
WMLドキュメント構造モジュール:
構造モジュールの次の要素は、WML2ドキュメントの構造を指定するために使用されます。
- body
- html
- wml:card
- head
- タイトル
body要素:
wml:newcontext属性は、ドキュメントがロードされるときに、ブラウザーコンテキストが明確に定義された状態に初期化されるかどうかを指定します。 wml:newcontext属性値が「true」の場合、ブラウザはこのカードへのナビゲーション時にブラウザコンテキストを再初期化する必要があります。
html要素:
xmlns:wml属性は、たとえばhttp://www.wapforum.org/2001/wmlのWML名前空間を参照します。
wml:use-xml-fragments属性は、ユーザーエージェントによるフラグメント識別子の解釈方法を指定するために使用されます。 goタスクおよびprevタスクでのwml:use-xml-fragmentsの使用の詳細について。
wml:card要素:
wml:card要素は、ドキュメント本文のフラグメントを指定します。 1つのドキュメントに複数のwml:card要素が表示される場合があります。 各wml:card要素は、個々のプレゼンテーションやユーザーとの対話を表します。
wml:card要素のnewcontext属性値が「true」の場合、ブラウザはこのカードへのナビゲーション時にブラウザコンテキストを再初期化する必要があります。
ヘッド要素:
この要素は、meta要素やスタイルシートなどのドキュメントのヘッダー情報を保持します。
タイトル要素:
この要素は、ドキュメントのタイトルを配置するために使用されます
注: WML開発者は、XHTMLドキュメントスタイル、つまり本文の構造を使用するか、カードのコレクションを使用できます。 body構造を使用すると、body要素を使用してドキュメントが構築されます。 body要素には、ドキュメントのコンテンツが含まれます。 カードのコレクションを使用すると、1つ以上のwml:card要素を使用してドキュメントが構築されます。
WML2タスク
次のタスクはWML2.0で定義されています。 これらのタスクはWML1.0に非常に似ています
- ゴータスク
- 前のタスク
- noopタスク
- 更新タスク
WML2イベント:
次のイベントタイプは、WML2で定義されています。
- *組み込みイベント:*ユーザーエージェントによって生成され、WML1.0に類似した以下のイベントを含むイベント
- オンタイマー
- onenterforward
- onenterbackward
- オンピック
- *外部イベント:*外部エージェントによってユーザーエージェントに送信されるイベント。 WML 2仕様では、外部イベントのクラスは指定されていません。 WML外部イベントクラスの一例は、WTAイベントです。
WML2ドキュメントタイプ:
WML2ドキュメントは、MIMEメディアタイプ「application/wml + xml」によって識別されます。 タイプ「application/xhtml + xml」を使用して、XHTML Basicを含むXHTMLベースのマークアップ言語のドキュメントを識別できます。
DOCTYPE宣言には、XHTML Basic Formal Public Identifierを含めることができます。また、以下で指定するように、XHTML Basic DTDのURIも含めることができます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
WML2を使用したスタイルシート
スタイルシートを使用して、WML2ドキュメントのスタイルを設定できます。 スタイル情報は、次の3つの方法でドキュメントに関連付けることができます。
外部スタイルシート:
外部スタイルシートは、特別なXML処理命令またはリンク要素を使用してドキュメントに関連付けることができます。 XML処理命令の使用も使用できます。
次の例では、XML処理命令を使用して、外部スタイルシート「mobile.css」を関連付けています。
<?xml-stylesheet href="mobile.css"
media="handheld" type="text/css" ?>
次の例では、外部スタイルシート「mystyle.css」を関連付けるためにlink要素が使用されています。
<html>
<head>
<link href="mystyle.css" type="text/css" rel="stylesheet"/>
...
</head>
...
</html>
内部スタイルシート:
スタイル情報は、style要素を使用してドキュメント内に配置できます。 この要素は、リンクと同様に、ドキュメントヘッダーに配置する必要があります。
以下に、内部スタイルシートの例を示します。
<html>
<head>
<style type="text/css">
p { text-align: center; }
</style>
...
</head>
...
</html>
インラインスタイル:
_style_属性を使用して、単一の要素のスタイル情報を指定できます。 これはインラインスタイルと呼ばれます。
次の例では、インラインスタイル情報が特定の段落要素に適用されます。
<p style="text-align: center">...</p>
WML2デフォルトスタイルシート:
WML 2.0のサンプルスタイルシートは次のとおりです。
body, card, div, p, center, hr, h1, h2, h3, h4, h5, h6,
address, blockquote, pre, ol, ul, dl, dt, dd,
form, fieldset, object { display: block }
li { display: list-item }
head { display: none }
table { display: table }
tr { display: table-row }
td, th { display: table-cell }
caption { display: table-caption }
th { font-weight: bolder; text-align: center }
caption { text-align: center }
h1, h2, h3, h4, h5, h6, b, strong { font-weight: bolder }
i, cite, em, var,address { font-style: italic }
pre, code, kbd, pre { white-space: pre }
big { font-size: larger}
small { font-size: smaller}
hr { border: 1px inset }
ol { list-style-type: decimal }
u { text-decoration: underline }
WML2要素:
すべてのWML2要素の完全なリストへのリンクは次のとおりです。 _WML:_で始まるいくつかの要素を除き、ほとんどの要素はXHTML仕様で利用できます。これらの要素はWMLに固有です。
ここでは、XHTML仕様にあるものと同じ意味を持つすべての要素。
リンク:/wml/wml2_tags_reference [WML2タグリファレンス]
概要:
XHTMLとWML1.0を知っていれば、WML2.0を学ぶことは何もないと結論付けることができます。
詳細については、http://www.wapforum.org/what/technical [WAP2.0 and WML2.0]の完全な仕様をご覧ください。