属性の操作方法
次の例のコードは、このXMLデータからcustId属性をフェッチしてコピーしています。
<invalidLoanApplication xmlns="http://samples.otn.com">
<application xmlns = "http://samples.otn.com/XPath/autoloan">
<customer custId = "111" >
<name>
Mike Olive
</name>
...
</customer>
...
</application>
</invalidLoanApplication>
次の例のBPEL 1.1のコードは、customerフィールドのcustId属性を選択し、変数custIdに割り当てています。
<assign>
<!-- get the custId attribute and assign to variable custId -->
<copy>
<from variable="input" part="payload"
query="/tns:invalidLoanApplication/autoloan:application
/autoloan:customer/@custId"/>
<to variable="custId"/>
</copy>
</assign>
次の例に、customerフィールドのcustId属性を選択し、変数custIdに割り当てるためのBPEL 2.0の対応する構文を示します。
<assign> <copy> <from>$input.payload/autoloan:application/autoloan:customer/@custId</from> <to>$custId</to> </copy> </assign>
この例のネームスペース接頭辞は必須ではありません。次の例に示すように、WSDLファイルは、custIdが属性として定義される型を持つように顧客を定義します。
<complexType name="CustomerProfileType">
<sequence>
<element name="name" type="string"/>
...
</sequence>
<attribute name="custId" type="string"/>
</complexType>