<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にデータを送る方法として便利である。