<xm:attribute> タグ

XML 属性値のマップ時に使用する変数を指定します。

構文

<xm:attribute 
    
name="attributeName" 
    
obj="[dataType ]attributeValueVariable[,]" 
>

属性

name

マップされている属性の名前。

obj

パラメータまたは「return」など、この属性の値のマップ先となる Java 宣言の一部。

備考

<xm:attribute> タグを使用すると、Java 宣言の一部に XML メッセージからの属性値を割り当てることができます。次の例で、max_records は <query> 要素について予想される属性です。

/**
 * @jws:operation


 * @jws:parameter-xml xml-map:: * <query> *     <xm:attribute name="max_records" obj="resultSize"/> *     <element> *         <name>{criterionName}</name> *         <value>{criterionValue}</value> *     </element> * </query> * :: */ public void searchData(String criterionName, String criterionValue, int resultSize) {    System.out.println("The maximum number of records to return is " + resultSize); }

<xm:attribute> タグを使用する代わりに、短縮形として中括弧を使用することもできます。以下の抜粋したコード例は、前掲の例と同等なものです。

/**
 * @jws:parameter-xml xml-map::
 * <query max_records="{resultSize}">
 *     <element>
 *         <name>{criterionName}</name>
 *         <value>{criterionValue}</value>
 *     </element>
 * </query>
 * ::
 */
public void searchData(String criterionName, String criterionValue, int resultSize)
{
    System.out.println("The maximum number of records to return is " + resultSize);
}

変数が、マップのコンテキストにおける他の部分(マップ内、クラス レベルにおける Java コード内、またはマップが適用されるメソッドのコード内などの他の部分)で型を宣言されていない場合には、データ型を指定します。

/**
 * @jws:parameter-xml xml-map::
 * <query max_records="{int resultSize}">
 *     <element>
 *         <name>{java.sql.String criterionName}</name>
 *         <value>{java.sql.String criterionValue}</value>
 *     </element>
 * </query>
 * ::
 */
public void searchData(String criterionName, String criterionValue, int resultSize)
{
    System.out.println("The maximum number of records to return is " + resultSize);
}

注意 : xm プレフィックスとその URI は、任意の JWS ファイルで暗黙的に宣言されます。ただし、XMLMAP ファイルでプレフィックスを使用するには、ネームスペース プレフィックスおよび URI を宣言する必要があります。

関連トピック

XML マップのしくみ

XML マップを使用する理由