<xm:value> タグ

特定の XML 要素のコンテンツをマップするときに使用する変数を指定します。

構文

<xm:value 
    obj="[dataType ]elementValueVariable[, ...]"
/>

属性

obj

Java 宣言において、この要素のコンテンツのマップ先となる部分。

備考

<xm:value> タグを使用すると、Java 宣言の一部に XML メッセージからの要素のコンテンツを割り当てることができます。次の例では、criterionNamecriterionValue をそれぞれ <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 を宣言する必要があります。別のプレフィックスを宣言することで、プレフィックスを変更できます。

関連トピック

XML マップのしくみ

XML マップを使用する理由