<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 を宣言する必要があります。