Display-Object
説明
一般的な方法でオブジェクトグループを表示して、オブジェクトおよび属性の前後にマークアップ言語を挿入できるようにします。BORDER パラメータを指定しない場合は、フォーマットされません。BORDER パラメータを指定すると、簡単な表が生成されます。
構文
<ie:webject name=" Display-Object" type="DSP">
<ie:param name="ATTRIBUTE" data="attribute"/>
<ie:param name="ATTRIBUTE_SEPARATOR" data="separator"/>
<ie:param name="BORDER" data="[pixels | 1]"/>
<ie:param name="CAPTION" data="text"/>
<ie:param name="CELLPADDING" data="pixels"/>
<ie:param name="CELLSPACING" data="pixels"/>
<ie:param name="DISPLAY_ATTRIBUTE_NAME" data="[TRUE |
FALSE]"/>
<ie:param name="DISPLAY_ATTRIBUTE_VALUE" data="[TRUE |
FALSE]"/>
<ie:param name="FOOTER" data="text"/>
<ie:param name="GROUP_IN" data="group_name"/>
<ie:param name="HEADER_SEPARATOR" data="separator"/>
<ie:param name="MAX" data="maximum"/>
<ie:param name="OBJECT_SEPARATOR" data="separator"/>
<ie:param name="POST_ATTRIBUTE_NAME_TEXT" data="text"/>
<ie:param name="POST_ATTRIBUTE_TEXT" data="text"/>
<ie:param name="POST_CAPTION_TEXT" data="text"/>
<ie:param name="POST_FOOTER_TEXT" data="text"/>
<ie:param name="POST_HEADER_TEXT" data="text"/>
<ie:param name="POST_OBJECT_TEXT" data="text"/>
<ie:param name="POST_TABLE_TEXT" data="text"/>
<ie:param name="POST_TITLE_TEXT" data="text"/>
<ie:param name="POST_VALUE_TEXT" data="text"/>
<ie:param name="PRE_ATTRIBUTE_NAME_TEXT" data="text"/>
<ie:param name="PRE_ATTRIBUTE_TEXT" data="text"/>
<ie:param name="PRE_CAPTION_TEXT" data="text"/>
<ie:param name="PRE_FOOTER_TEXT" data="text"/>
<ie:param name="PRE_HEADER_TEXT" data="text"/>
<ie:param name="PRE_OBJECT_TEXT" data="text"/>
<ie:param name="PRE_TABLE_TEXT" data="text"/>
<ie:param name="PRE_TITLE_TEXT" data="text"/>
<ie:param name="PRE_VALUE_TEXT" data="text"/>
<ie:param name="START" data="starting_element"/>
<ie:param name="TITLE" data="text"/>
<ie:param name="UNDEFINED" data="string"/>
<ie:param name="VALUE_SEPARATOR" data="separator"/>
</ie:webject>
パラメータ
ATTRIBUTE
各オブジェクトとともに表示される属性を指定します。この Webject には、実際の属性と疑似属性の 2 つのタイプを指定できます。
実際の属性はパラメータの値として明示的に指定されます。たとえば、data="ename" を指定すると、オブジェクトが表示されるときに ename 属性が含まれます。実際の属性値は常に表示されます。
疑似属性は実際の属性とは異なり、通常前回の WML カードから取得されます。通常、疑似属性は Webject で以下のように表されます。
data="$(attribute)"
疑似属性値はテキストと変数参照の組み合わせで表されます。現在のオブジェクトの属性から変数置換が生成されます。たとえば、GROUP_IN パラメータで指定されたグループに name=Sam sal=200 および name=Chen sal=300 の 2 つのオブジェクトがある場合、パラメータは以下のとおりです。
<ie:param name="ATTRIBUTE" data="Employee $(name) is paid $(sal)"/>
これにより、以下のテキストが生成されます。
Employee Sam is paid 200
Employee Chen is paid 300
前述のパラメータの値が二重引用符で囲まれていることに注意してください。これらの引用符は、特殊文字が表示中にワイアレスデバイスで適切にレンダリングされるようにするために、パラメータの値が HTML 形式でエンコードされる必要があることを示します。また、値を単一引用符で囲む場合もあります。パラメータの値に二重引用符を使用する場合は、この値を単一引用符で囲みます。パラメータの値にアポストロフィなどの単一引用符を使用する場合は、この値を二重引用符で囲みます。
たとえば、以下の名前を生成するとします。
NAME='Sam Johnson';
この場合、Display-Object Webject では、以下のどちらのパラメータの組み合わせでも上述のような結果が得られます。
<ie:param name="ATTRIBUTE" data="NAME
='$(namecode)'"/>
<ie:param name="ATTRIBUTE" data="NAME='$(NAME)';"/>
DISPLAY_ATTRIBUTE_NAME パラメータを使用する場合は、このパラメータを指定する必要があります。このパラメータのデフォルトでは、各オブジェクトのすべての属性を表示します。このパラメータには複数の値を指定できます。このパラメータはオプションです。
ATTRIBUTE_SEPARATOR
属性間で使用するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは \n で、ボーダーがない場合のデフォルトは "" です。このパラメータはオプションです。
BORDER
表示する情報を囲む HTML 形式の表のボーダーの幅をピクセル単位で指定します。
BORDER パラメータを "" 以外の値で指定すると、ほかのパラメータを使用してデフォルトで HTML の表のタグが生成されます。デフォルト設定では、オブジェクトは表の行として、属性は表の列として表示されます。
以下の表では、ボーダーを指定するかどうかによって影響を受けるパラメータのデフォルト値を示します。次にボーダーを指定する場合と指定しない場合の 2 つのデフォルト設定を示します。
◦ ボーダーがある場合のデフォルト (BORDER パラメータを "" 以外の値で指定します)。
◦ ボーダーがない場合のデフォルト (BORDER パラメータを指定しないか、または "" に設定します)。
パラメータ
|
ボーダーがある場合の HTML のデフォルト値
|
ボーダーがない場合の HTML のデフォルト値
|
PRE_TABLE_TEXT
POST_TABLE_TEXT
|
"<table border=BORDER cellspacing=CELLSPACING cellpadding=CELLPADDING>\n""</table>\n"
|
""""
|
PRE_HEADER_TEXT
HEADER_SEPARATOR
POST_HEADER_TEXT
|
"<th>""""</th>"
|
""""""
|
PRE_OBJECT_TEXT
POST_OBJECT_TEXT
|
"<tr>""</tr>\n"
|
""""
|
PRE_ATTRIBUTE_TEXT
POST_ATTRIBUTE_TEXT
|
"<td>""</td>"
|
""""
|
PRE_CAPTION_TEXT
POST_CAPTION_TEXT
|
"<caption>""</caption>\n"
|
""""
|
VALUE_SEPARATOR
ATTRIBUTE_SEPARATOR
OBJECT_SEPARATOR
|
"<br>""\n""\n"
|
""""""
|
PRE_TITLE_TEXT
TITLE
POST_TITLE_TEXT
|
"""""\n"
|
""""""
|
BORDER のデフォルト値は "" です。ボーダーの有無によって影響を受けるパラメータのデフォルト値はパラメータを明示的に設定することによってオーバーライドできます。このパラメータはオプションです。
CAPTION
表見出しのテキストを指定します。このパラメータのデフォルトは "" です。このパラメータはオプションです。
CELLPADDING
セルとそのコンテンツのボーダー間の間隔をピクセル単位で指定します。このパラメータのデフォルトは "" です。このパラメータはオプションです。
CELLSPACING
表のセルの周りと表のセル間の間隔をピクセル単位で指定します。このパラメータのデフォルトは "" です。このパラメータはオプションです。
DISPLAY_ATTRIBUTE_NAME
属性名を表示するかどうかを指定します。このパラメータは ATTRIBUTE パラメータで特定の属性を指定した場合のみ使用します。このパラメータのデフォルトは FALSE です。有効にするには TRUE を設定します。このパラメータはオプションです。
DISPLAY_ATTRIBUTE_VALUE
属性値を表示するかどうかを指定します。このパラメータのデフォルトは TRUE です。無効にするには、FALSE を使用します。このパラメータはオプションです。
FOOTER
表フッタのテキストを指定します。このパラメータのデフォルトは "" です。このパラメータはオプションです。
GROUP_IN
入力ソースとして使用するグループの名前を識別します。このグループは VDB グループまたは Context グループです。グループの詳細については、
Info*Engine データ管理を参照してください。
このパラメータのデフォルトでは、VDB で最後に定義されたグループを使用します。このパラメータはオプションです。
HEADER_SEPARATOR
列のヘッダ間で使用するテキストまたは HTML を指定します。このパラメータのデフォルトは "" です。このパラメータはオプションです。
MAX
表示する要素の最大数を定義します。このパラメータの値を指定すると、Webject を介して返されるデータの量を制御できます。
MAX パラメータと START パラメータにパラメータ値置換を使用することによって、一連の Webject をコード化して任意のグループのデータを管理可能な結果セットで表示できます。詳細については、
ダイナミックパラメータ値の置換を参照してください。
このパラメータのデフォルトでは、START パラメータで識別する要素から表示し、グループの残りの要素をすべて表示します。このパラメータはオプションです。
OBJECT_SEPARATOR
表の行間で使用するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは \n で、ボーダーがない場合のデフォルトは "" です。このパラメータはオプションです。
POST_ATTRIBUTE_NAME_TEXT
各属性名の後に生成するテキストまたは HTML を指定します。このパラメータのデフォルトは </b> です。このパラメータはオプションです。
POST_ATTRIBUTE_TEXT
各属性値の後に生成するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは </td> で、ボーダーがない場合のデフォルトは "" です。このパラメータはオプションです。
POST_CAPTION_TEXT
各見出しの後に生成するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは </caption>\n で、ボーダーがない場合のデフォルトは "" です。このパラメータはオプションです。
POST_FOOTER_TEXT
表フッタの後に生成するテキストまたは HTML を指定します。このパラメータのデフォルトは \n です。このパラメータはオプションです。
POST_HEADER_TEXT
各列ヘッダーの後に生成するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは </th> で、ボーダーがない場合のデフォルトは "" です。このパラメータはオプションです。
POST_OBJECT_TEXT
各オブジェクトの後に生成するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは </tr>\n で、ボーダーがない場合のデフォルトは "" です。このパラメータはオプションです。
POST_TABLE_TEXT
各オブジェクトグループの後に生成するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは </table>\n で、ボーダーがない場合のデフォルトは \n</pre>\n です。このパラメータはオプションです。
POST_TITLE_TEXT
タイトルの後に生成するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは \n で、ボーダーがない場合のデフォルトは "" です。このパラメータはオプションです。
POST_VALUE_TEXT
複数の値を指定できる属性の各値の後に生成するテキストまたは HTML を指定します。このパラメータのデフォルトは "" です。このパラメータはオプションです。
PRE_ATTRIBUTE_NAME_TEXT
各属性名の前に生成するテキストまたは HTML を指定しますこのパラメータのデフォルトは <b> です。このパラメータはオプションです。
PRE_ATTRIBUTE_TEXT
各属性値の前に生成するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは <tr> で、ボーダーがない場合のデフォルトは "" です。このパラメータはオプションです。
PRE_CAPTION_TEXT
各見出しの前に生成するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは <caption> で、ボーダーがない場合のデフォルトは "" です。このパラメータはオプションです。
PRE_FOOTER_TEXT
表フッタの前に生成するテキストまたは HTML を指定します。このパラメータのデフォルトは "" です。このパラメータはオプションです。
PRE_HEADER_TEXT
各列のヘッダの前に生成するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは <th> で、ボーダーがない場合のデフォルトは "" です。このパラメータはオプションです。
PRE_OBJECT_TEXT
各オブジェクトの前に生成するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは <tr> で、ボーダーがない場合のデフォルトは "" です。このパラメータはオプションです。
PRE_TABLE_TEXT
各オブジェクトグループの前に生成するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは <table border=BORDER cellspacing=CELLSPACING cellpadding=CELLPADDING>\n で、ボーダーがない場合のデフォルトは <pre> です。このパラメータはオプションです。
PRE_TITLE_TEXT
タイトルの前に生成するテキストまたは HTML を指定します。このパラメータのデフォルトは "" です。このパラメータはオプションです。
PRE_VALUE_TEXT
複数の値を指定できる属性の各値の前に生成するテキストまたは HTML を指定します。このパラメータのデフォルトは "" です。このパラメータはオプションです。
START
表示するグループの最初の要素の数を指定します。このパラメータを MAX パラメータとともに使用すると、Webject を介して返されるデータの量を制御できます。
MAX パラメータと START パラメータにパラメータ値置換を使用することによって、一連の Webject をコード化して任意のグループのデータを管理可能な結果セットで表示できます。詳細については、
ダイナミックパラメータ値の置換を参照してください。
このパラメータのデフォルトではグループの最初の記録から開始します。このパラメータはオプションです。
TITLE
タイトルのテキストを指定します。このパラメータのデフォルトは "" です。このパラメータはオプションです。
VALUE_SEPARATOR
複数の値を指定できる属性が表に含まれる場合に、属性値間で使用するテキストまたは HTML を指定します。ボーダーがある場合、このパラメータのデフォルトは <br> で、ボーダーがない場合のデフォルトは , です。このパラメータはオプションです。
UNDEFINED
未定義の値を表示する値を設定します。未定義の値は存在しない属性か、または値が Null の属性です。空の文字列 ("") を含む属性は未定義として解釈されません。このパラメータのデフォルトは "" です。このパラメータはオプションです。
例
以下の Display-Object Webject の例では、入力グループに複数の要素が含まれており、それぞれに name、address、および email 属性値があると想定されています。
デフォルト表示
Webject
<ie:webject name="Display-Object" type="DSP"/>
出力
すべての属性をコンマで区切ったリスト
Webject
<ie:webject name="Display-Object" type="DSP">
<ie:param name="ATTRIBUTE_SEPARATOR" data=","/>
</ie:webject>
出力
いくつかの属性をコンマで区切ったリスト (各行に 1 つの要素)
Webject
<ie:webject name="Display-Object" type="DSP">
<ie:param name="ATTRIBUTE" data="name,address" delim=","/>
<ie:param name="ATTRIBUTE_SEPARATOR" data=","/>
<ie:param name="OBJECT_SEPARATOR" data="<br>"/>
</ie:webject>
出力
自由形式の置換 (各行に 1 つの要素)
Webject
<ie:webject name="Display-Object" type="DSP">
<ie:param name="ATTRIBUTE" data="Employee $[name] lives at
$[ADDRESS] &"/>
<ie:param name="ATTRIBUTE" data="$[NAME]'s email address is
<$[email]>"/>
<ie:param name="ATTRIBUTE_SEPARATOR" data=" "/>
<ie:param name="OBJECT_SEPARATOR" data="<br>"/>
</ie:webject>
出力
エスケープ文字
Webject
<ie:webject name="Display-Object" type="DSP">
<ie:param name="ATTRIBUTE" data="User's <name> = $[EMAIL]"/>
<ie:param name="OBJECT_SEPARATOR" data="<br>"/>
</ie:webject>
| < および > 記号は HTML タグとして解釈されるので、出力では <name> は表示されません。出力で < および > を表示する場合は、特殊文字 < および > を使用します。 |
出力
| ソースを表示して < および > 文字が引用符で囲まれていないことを確認してください。 |
生成された HTML
User's <name> = sjohnson@somewhere.com<br>
User's <name> = handerson@somewhere.com<br>
User's <name> = <br>
User's <name> = hhampton@somewhere.com
デフォルトの表
Webject
<ie:webject name="Display-Object" type="DSP">
<ie:param name="BORDER" data="1"/>
</ie:webject>
出力
表タイトルと見出しの表示
Webject
<ie:webject name="Display-Object" type="DSP">
<ie:param name="BORDER" data="1"/>
<ie:param name="DISPLAY_ATTRIBUTE_NAME" data="TRUE"/>
<ie:param name="CAPTION" data="The table caption"/>
<ie:param name="PRE_TITLE_TEXT" data="<b><i>"/>
<ie:param name="TITLE" data="The table title"/>
<ie:param name="POST_TITLE_TEXT" data="</i></b>"/>
</ie:webject>
出力
JavaScript
以下の例では、JavaScript を Display-Object Webject に取り込む方法について説明します。
Webject
<script> var itemcnt=0; </script>
<table border=0 cellspacing=0 cellpadding=0>
<th bgcolor=yellow align=left> </th>
<th bgcolor=yellow align=left> Name </th>
<th bgcolor=yellow align=left> </th>
<th bgcolor=yellow align=left> Email </th>
<th bgcolor=yellow align=left> </th>
<ie:webject name="Display-Object" type="DSP">
<ie:param name="PRE_OBJECT_TEXT" data="<script> itemcnt++;
if (itemcnt % 2 == 0) document.write('<tr
bgcolor=#FFFFFF>'); else document.write('<tr
bgcolor=#D3D3D3>'); </script>"/>
<ie:param name="ATTRIBUTE" data="<td width=10>
</td>"/>
<ie:param name="ATTRIBUTE" data="<td align=left
valign=middle> <input type=radio
name=rowid>$[NAME]</td>"/>
<ie:param name="ATTRIBUTE" data="<td width=25>
</td>"/>
<ie:param name="ATTRIBUTE" data="<td align=left
valign=middle>$[EMAIL]</td>"/>
<ie:param name="ATTRIBUTE" data="<td width=25>
</td>"/>
<ie:param name="POST_OBJECT_TEXT" data="</tr>"/>
</ie:webject>
</table>
出力