<xm:value> タグ
特定の XML 要素のコンテンツをマップするときに使用する変数を指定します。
<xm:value obj="[dataType ]elementValueVariable[, ...]" />
obj
Java 宣言において、この要素のコンテンツのマップ先となる部分。
<xm:value> タグを使用すると、Java 宣言の一部に XML メッセージからの要素のコンテンツを割り当てることができます。次の例では、criterionName と criterionValue をそれぞれ <name> 要素と <value> 要素にマップしています。
/** * @jws:operation * @jws:parameter-xml xml-map:: * <query> * <xm:attribute name="max_records" obj="resultSize"/> * <element> * <name><xm:value obj="criterionName"/></name> * <value><xm:value obj="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:value> タグを使用する代わりに、短縮形として中括弧を使用することもできます。以下の抜粋したコード例は、前掲の例と同等なものです。
/** * @jws:operation * @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="{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 を宣言する必要があります。別のプレフィックスを宣言することで、プレフィックスを変更できます。