Listing 1

<assign>
    <copy>
        <from expressionLanguage="urn:bea:wli:bpm:
          wsbpel:2.0:sublang:xquery1.0">
            <![CDATA[
                <pons:simplePO>
                {
                   for $s in (1,2,3)
                   return
                   <pons:Item>
                       <pons:id>{$s}</pons:id>
                       <pons:quantity>100</pons:
                         quantity>
                   </pons:Item>
                }
                </pons:simplePO>
            ]]>
        </from>
        <to>$respVar.PO</to>
     </copy>
</assign>

Listing 2

<!-BPEL 2.0 process definition -->
<variables>
    <variable name="booleanVar" type="xsd:boolean"/>
    <variable name="contactInfoVar" element="tns:
	contactDetails"/>
    <variable name="addressVar" element="tns:address"/>
</variables>

<sequence>
    <switch>
        <case>
            <condition>$booleanVar</condition>
            <assign>
                <copy>
			<from>$contactInfoVar/tns:address</from>
			<to>$addressVar</to>
                </copy>
            </assign>
        </case>
    </switch>
</sequence>

<!-Referenced Schema types -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="uri:sample:assign" xmlns="uri:
sample:assign">
    <xsd:complexType name="tPhoneNumber">
        <xsd:sequence>
            <xsd:element name="countryCode" type="xsd:
              string"/>
            <xsd:element name="areaCode" type="xsd:
              string"/>
            <xsd:element name="number" type="xsd:
              string"/>
        </xsd:sequence>
        <xsd:attribute name="type" type="xsd:string"
          use="required"/>
    </xsd:complexType>
    <xsd:complexType name="tAddress">
        <xsd:sequence>
            <xsd:element name="addressLine1" type="xsd:string"/>
            <xsd:element name="city" type="xsd:
              string"/>
            <xsd:element name="state" type="xsd:
              string"/>
            <xsd:element name="zip" type="xsd:
              string"/>
            <xsd:element name="country" type="xsd:
              string"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="tContactDetails">
        <xsd:sequence>
            <xsd:element name="address" type="tAddress"/>
            <xsd:element name="phoneNumber" type="tPhoneNumber" 
			maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="address" type="tAddress"/>
    <xsd:element name="contactDetails" type="tContactDetails"/>
</xsd:schema>