Wml-tasks

提供:Dev Guides
移動先:案内検索

WML-タスク

WMLタスクは、表示されるものではなく、ブラウザによって実行されるアクションを指定する要素です。 たとえば、新しいカードに変更するアクションは<go>タスク要素で表され、以前に訪れたカードに戻るアクションは<prev>タスク要素で表されます。 タスク要素は、アクションの実行に必要なすべての情報をカプセル化します。

WMLは、goタスク、preタスク、refreshタスク、noop taksと呼ばれる4つのWMLタスクを処理する次の4つの要素を提供します。

<go>タスク:

名前が示すように、<go>タスクは新しいカードに移動するアクションを表します。

<go>要素は、次の属性をサポートしています。

Attribute Value Description
href URL Gives the URL of the new card. Relative URLs are resolved relative to the current card
method
  • get
  • post

a

デッキを取得するために使用する方法を指定します。 これは、HTTPのGETおよびPOSTメソッドに対応する値getまたはpostのいずれかでなければなりません。

method = "get" を使用する場合、データは?とともにリクエストとして送信されます。 URLに追加されたデータ。 この方法には、限られた量のデータにしか使用できないという欠点があり、機密情報を送信すると、画面に表示され、Webサーバーのログに保存されます。 したがって、パスワードなどを送信する場合は、この方法を使用しないでください。

method = "post" を使用すると、データはリクエストの本体に送信されたデータとともにリクエストとして送信されます。 この方法には制限がなく、機密情報はURLに表示されません

sendreferer
  • true
If set to true, the browser sends the URL of the current deck along with the request. This URL is sent as a relative URL if possible. The purpose of this is to allow servers to perform simple access control on decks, based on which decks are linking to them. For example, using HTTP, this attribute is sent in the HTTP Referer header.
accept-charset charset_list Specifies a comma- or space-separated list of character sets that can encode data sent to the server in a POST request. The default value is "unknown".
class class data Sets a class name for the element.
id element ID A unique ID for the element.

以下は、<go>要素の使用法を示す例です。

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="GO Element">
<p>
   <anchor>
       Chapter 2 : <go href="chapter2.wml"/>
   </anchor>
</p>
</card>
</wml>

Getメソッドを使用してデータをアップロードする方法を示す別の例

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="GO Element">
<p>
   <anchor>
      Using Get Method
      <go href="chapter2.wml?x=17&y=42" method="get"/>
   </anchor>
</p>
</card>
</wml>

<setvar>要素を使用してデータをアップロードする方法を示す別の例。

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="GO Element">
<p>
   <anchor>
      Using setvar:
      <go href="chapter2.wml">
          <setvar name="x" value="17"/>
          <setvar name="y" value="42"/>
      </go>
   </anchor>
</p>
</card>
</wml>

<postfiled>要素を使用してデータをアップロードする方法を示す別の例

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="GO Element">
<p>
   <anchor>
      Using setvar:
      <go href="chapter2.wml" method="get">
              <postfield name="x" value="17"/>
              <postfield name="y" value="42"/>
      </go>
   </anchor>
</p>
</card>
</wml>

<prev>タスク:

<prev>タスクは、履歴スタックで以前にアクセスしたカードに戻るアクションを表します。 このアクションを実行すると、<prev>タスクの<setvar>変数の割り当てが有効になった後、一番上のエントリが履歴スタックから削除され、そのカードが再び表示されます。

以前のURLが存在しない場合、<prev>を指定しても効果はありません。

<prev>要素は、次の属性をサポートしています。

Attribute Value Description
class class data Sets a class name for the element.
id element ID A unique ID for the element.

以下は、<prev>要素の使用法を示す例です。

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="Prev Element">
<p>
   <anchor>
        Previous Page :<prev/>
   </anchor>
</p>
</card>
</wml>

<prev>タスクに変数を含めると便利な状況の1つは、ユーザー名とパスワードの入力を求めるログインページです。 状況によっては、ログインカードに戻ったときにパスワードフィールドをクリアして、ユーザーに強制的に再入力させたい場合があります。 これは、次のような構造を使用して実行できます。

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="Prev Element">
<p>
   <anchor>
        <prev>
           <setvar name="password" value=""/>
        </prev>
   </anchor>
</p>
</card>
</wml>

<refresh>タスク:

<refresh>タスクは、実際に何かを行う最も単純なタスクです。 その効果は、単に<setvar>要素で指定された変数の割り当てを実行し、新しい値で現在のカードを再表示することです。 <go>および<prev>タスクは、新しいカードを表示する直前に同じアクションを実行します。

<refresh>タスクは、ほとんどの場合、カードに対して何らかの「リセット」アクションを実行するために使用されます。

<refresh>要素は、次の属性をサポートしています。

Attribute Value Description
class class data Sets a class name for the element.
id element ID A unique ID for the element.

以下は、<refresh>要素の使用法を示す例です。

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="Referesh Element">
<p>
   <anchor>
         Refresh this page:
          <go href="test.wml"/>
          <refresh>
            <setvar name="x" value="100"/>
          </refresh>
   </anchor>
</p>
</card>
</wml>

<noop>タスク:

<noop>タスクの目的は、何もしない(操作を行わない)ことです。

このタスクの唯一の実際の使用は、テンプレートに関連する場合です

<noop>要素は、次の属性をサポートしています。

Attribute Value Description
class class data Sets a class name for the element.
id element ID A unique ID for the element.

以下は、<noop>要素の使用法を示す例です。

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="Noop Element">
<p>
  <do type="prev" label="Back">
      <noop/>
  </do>
</p>
</card>
</wml>