<param>要素はsubdialogまたはobjectへ通過させる数値を指定するために使う。HTMLの<PARAM>要素をモデルとしている。
属性:
name | objectまたはsubdialogが呼び出されるとき、このパラメータに結び付く名前。 |
expr | nameと結び付く値を計算する表現。 |
value | nameと結び付く内部文字列値。 |
valuetype | 1つのdataまたはref、デフォルトはdata;もし値がdataまたはref(URI)と結び付くなら、objectを指すために使われる。これは<subdialog>では使われない。 |
type | もしvaluetypeがrefなら、URIにより渡される結果のMIMEタイプ。;<object>内の<param>の使用にのみ関連する。 |
正確に1つのexprまたはvalueは渡されなければならない。valuetypeとtypeの使用は、汎用で任意であるが、それらはobject指定により要求されるかもしれない。<param>が<subdialog>要素に含まれるとき、それにより指定される数値は呼び出されたsubdialog内の対話<var>要素を初期化するために使用される。<param>が<object>内に含まれるとき、パラメータデータの使用は呼び出されるobjectを指定し、かつVoiceXML指定の有効範囲の外にある。
以下は、<object>の一部として使用される<param>の使用の例である。この場合、最初の2つの<param>要素は表現(valuetype="data"の暗示)を持ち、3つ目の<param>は明白な値を持つ。そして4つ目はtext/plainのMIMEタイプを返すURIである。このデータの目的はobjectを指定することである。
<object name="debit" classid="method://www.recordings.example/prompts/credit/jesse.jar"/> <param name="amount" expr="document.amt"/> <param name="vendor" expr="vendor_num"/> <param name="application_id" value="ADC5678-QWOO"/> <param name="authentication_server" value="http://auth_svr.example" valuetype="ref" value="text/plain"/> </object>
次の例は<subdialog>とともに使用される<param>を示している。この場合、2つのexprはsubdialog formの有効範囲内で変数を初期化するために使用されている。呼び出し 側フォーム
<form> <subdialog name="result" src="http://another.example/#getssn"> <param name="firstname" expr="document.first"/> <param name="lastname" expr="document.last"/> <filled> <submit namelist="result.ssn" \ next="http://myservice.example/cgi-bin/process"/> </filled> </subdialog> </form>
http://another.exampleの副対話
<form id="getssn"> <var name="firstname"/> <var name="lastname"/> <field name="ssn"> <grammar src="http://grammarlib/ssn.gram" type="application /x-jsgf"/> <prompt> 社会保障番号を言ってください。 </prompt> <filled> <if cond="validssn(firstname,lastname,ssn)"> <assign name="status" expr="true"/> <return namelist="status ssn"/> <else/> <assign name="status" expr="false'/> <return namelist="status"/> </if> </filled> </field> </form>
<subdialog>内での<param>の使用はサーバサイドスクリプティングを使用することなくsubdialogにデータを送る方法として便利である。