Transform selected attribute to element when element already has a value | XSLT 2.0

"Sam Spade [email protected]" <[email protected]> Fri, 21 May 2021 14:30:16 -0000
Newsgroups gmane.text.xml.xsl.general.mulberrytech
Message-ID <[email protected]>
------=_Part_268199_528325268.1621607376066
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Input:
=C2=A0<requestConfirmation xmlns=3D"http://example/confirmation">    <trade>
        <cal>
            <c>PRECEDING</c>
            <bcs id=3D"businessCenters">
                <bc>USNY</bc>
                <bc>GBLO</bc>
            </bcs>
        </cal>=20=20
        <amount>
            <currency id=3D"settlementCurrency" currencyScheme=3D"http://ex=
ample/iso4">USD</currency>
            <referenceAmount>StandardISDA</referenceAmount>
            <cashSettlement>true</cashSettlement>
        </amount>
    </trade>
</requestConfirmation>
My module: <xsl:param name=3D"namespace" as=3D"xs:string">http://fc.fasset/=
product</xsl:param>
    <xsl:param name=3D"root" as=3D"xs:string">requestProduct</xsl:param>
    <xsl:param name=3D"keepAttr" static=3D"yes" as=3D"xs:string*" select=3D=
"'href', 'id'"/>
=20=20=20=20
    <xsl:template match=3D"/*">
        <xsl:element name=3D"{$root}" namespace=3D"{$namespace}">
            <xsl:apply-templates select=3D"@* , node()"/>
        </xsl:element>
    </xsl:template>
=20=20=20=20
    <xsl:template match=3D"*">
        <xsl:element name=3D"{local-name()}" namespace=3D"{$namespace}">
            <xsl:apply-templates select=3D"@* , node()"/>
        </xsl:element>
    </xsl:template>
=20=20=20=20
    <xsl:template match=3D"@*">
        <xsl:choose>
            <xsl:when test=3D"local-name() =3D $keepAttr">
                <xsl:element name=3D"{local-name()}" namespace=3D"{$namespa=
ce}">
                    <xsl:value-of select=3D"."/>
                </xsl:element>
            </xsl:when>
        </xsl:choose>
    </xsl:template>
Undesirable result:
<requestProduct xmlns=3D"http://fc.fasset/product">
   <trade>
      <cal>
         <c>PRECEDING</c>
         <bcs>
            <id>businessCenters</id>
            <bc>USNY</bc>
            <bc>GBLO</bc>
         </bcs>
      </cal>
      <amount>
         <currency>
            <id>settlementCurrency</id>USD</currency>
         <referenceAmount>StandardISDA</referenceAmount>
         <cashSettlement>true</cashSettlement>
      </amount>
   </trade>
</requestProduct>The transformation logic:
1) transform namespace=20
2) transform root element=20
3) transform the selected attribute(s) to element (the attribute name is pa=
rameterised not hard-coded)=20
4) the transformed element shouldn't contain both other element (transforme=
d from the attribute) and its original data
The desired result:
<requestProduct xmlns=3D"http://fc.fasset/product">
   <trade>
      <cal>
         <c>PRECEDING</c>
         <bcs>
            <id>businessCenters</id>
            <bc>USNY</bc>
            <bc>GBLO</bc>
         </bcs>
      </cal>
      <amount>
         <currency>USD</currency>
         <id>settlementCurrency</id>
         <referenceAmount>StandardISDA</referenceAmount>
         <cashSettlement>true</cashSettlement>
      </amount>
   </trade>
</requestProduct>What is wrong with my module? How can I transform the inpu=
t to the desired result?=20
Thank you!

=C2=A0=C2=A0=C2=A0=20
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/3329386
or by email: [email protected]
--~--

------=_Part_268199_528325268.1621607376066
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<html><head></head><body><div class=3D"ydp6d6470efyahoo-style-wrap" style=
=3D"font-family:bookman old style, new york, times, serif;font-size:13px;">=
<div dir=3D"ltr" data-setdir=3D"false"><font size=3D"3" face=3D"Helvetica N=
eue, Helvetica, Arial, sans-serif">Input:</font></div><div dir=3D"ltr" data=
-setdir=3D"false"><br></div><div dir=3D"ltr" data-setdir=3D"false">&nbsp;<c=
ode class=3D"ydpc46d430fhljs ydpc46d430fxml" data-lang=3D""><span class=3D"=
ydpc46d430fhljs-tag">&lt;<span class=3D"ydpc46d430fhljs-name">requestConfir=
mation</span> <span class=3D"ydpc46d430fhljs-attr">xmlns</span>=3D<span cla=
ss=3D"ydpc46d430fhljs-string">"http://example/confirmation"</span>&gt;</spa=
n>
</code><div dir=3D"ltr" data-setdir=3D"false"><pre><code class=3D"ydpc46d43=
0fhljs ydpc46d430fxml" data-lang=3D""><span class=3D"ydpc46d430fhljs-tag"><=
span></span></span></code><code class=3D"ydpc46d430fhljs ydpc46d430fxml" da=
ta-lang=3D"">    <span class=3D"ydpc46d430fhljs-tag">&lt;<span class=3D"ydp=
c46d430fhljs-name">trade</span>&gt;</span>
        <span class=3D"ydpc46d430fhljs-tag">&lt;<span class=3D"ydpc46d430fh=
ljs-name">cal</span>&gt;</span>
            <span class=3D"ydpc46d430fhljs-tag">&lt;<span class=3D"ydpc46d4=
30fhljs-name">c</span>&gt;</span>PRECEDING<span class=3D"ydpc46d430fhljs-ta=
g">&lt;/<span class=3D"ydpc46d430fhljs-name">c</span>&gt;</span>
            <span class=3D"ydpc46d430fhljs-tag">&lt;<span class=3D"ydpc46d4=
30fhljs-name">bcs</span> <span class=3D"ydpc46d430fhljs-attr">id</span>=3D<=
span class=3D"ydpc46d430fhljs-string">"businessCenters"</span>&gt;</span>
                <span class=3D"ydpc46d430fhljs-tag">&lt;<span class=3D"ydpc=
46d430fhljs-name">bc</span>&gt;</span>USNY<span class=3D"ydpc46d430fhljs-ta=
g">&lt;/<span class=3D"ydpc46d430fhljs-name">bc</span>&gt;</span>
                <span class=3D"ydpc46d430fhljs-tag">&lt;<span class=3D"ydpc=
46d430fhljs-name">bc</span>&gt;</span>GBLO<span class=3D"ydpc46d430fhljs-ta=
g">&lt;/<span class=3D"ydpc46d430fhljs-name">bc</span>&gt;</span>
            <span class=3D"ydpc46d430fhljs-tag">&lt;/<span class=3D"ydpc46d=
430fhljs-name">bcs</span>&gt;</span>
        <span class=3D"ydpc46d430fhljs-tag">&lt;/<span class=3D"ydpc46d430f=
hljs-name">cal</span>&gt;</span>=20=20
        <span class=3D"ydpc46d430fhljs-tag">&lt;<span class=3D"ydpc46d430fh=
ljs-name">amount</span>&gt;</span>
            <span class=3D"ydpc46d430fhljs-tag">&lt;<span class=3D"ydpc46d4=
30fhljs-name">currency</span> <span class=3D"ydpc46d430fhljs-attr">id</span=
>=3D<span class=3D"ydpc46d430fhljs-string">"settlementCurrency"</span> <spa=
n class=3D"ydpc46d430fhljs-attr">currencyScheme</span>=3D<span class=3D"ydp=
c46d430fhljs-string">"http://example/iso4"</span>&gt;</span>USD<span class=
=3D"ydpc46d430fhljs-tag">&lt;/<span class=3D"ydpc46d430fhljs-name">currency=
</span>&gt;</span>
            <span class=3D"ydpc46d430fhljs-tag">&lt;<span class=3D"ydpc46d4=
30fhljs-name">referenceAmount</span>&gt;</span>StandardISDA<span class=3D"y=
dpc46d430fhljs-tag">&lt;/<span class=3D"ydpc46d430fhljs-name">referenceAmou=
nt</span>&gt;</span>
            <span class=3D"ydpc46d430fhljs-tag">&lt;<span class=3D"ydpc46d4=
30fhljs-name">cashSettlement</span>&gt;</span>true<span class=3D"ydpc46d430=
fhljs-tag">&lt;/<span class=3D"ydpc46d430fhljs-name">cashSettlement</span>&=
gt;</span>
        <span class=3D"ydpc46d430fhljs-tag">&lt;/<span class=3D"ydpc46d430f=
hljs-name">amount</span>&gt;</span>
    <span class=3D"ydpc46d430fhljs-tag">&lt;/<span class=3D"ydpc46d430fhljs=
-name">trade</span>&gt;</span></code><code class=3D"ydpc46d430fhljs ydpc46d=
430fxml" data-lang=3D""><br><span><pre><code class=3D"ydp26382bf5hljs ydp26=
382bf5xml" data-lang=3D""><span class=3D"ydp26382bf5hljs-tag">&lt;/<span cl=
ass=3D"ydp26382bf5hljs-name">requestConfirmation</span>&gt;</span></code></=
pre></span><br><font size=3D"3" face=3D"Helvetica Neue, Helvetica, Arial, s=
ans-serif">My module:</font>
<div><pre><code class=3D"ydpe8509dbehljs ydpe8509dbexml" data-lang=3D""> <s=
pan class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe8509dbehljs-name">=
xsl:param</span> <span class=3D"ydpe8509dbehljs-attr">name</span>=3D<span c=
lass=3D"ydpe8509dbehljs-string">"namespace"</span> <span class=3D"ydpe8509d=
behljs-attr">as</span>=3D<span class=3D"ydpe8509dbehljs-string">"xs:string"=
</span>&gt;</span>http://fc.fasset/product<span class=3D"ydpe8509dbehljs-ta=
g">&lt;/<span class=3D"ydpe8509dbehljs-name">xsl:param</span>&gt;</span>
    <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe8509dbehljs-=
name">xsl:param</span> <span class=3D"ydpe8509dbehljs-attr">name</span>=3D<=
span class=3D"ydpe8509dbehljs-string">"root"</span> <span class=3D"ydpe8509=
dbehljs-attr">as</span>=3D<span class=3D"ydpe8509dbehljs-string">"xs:string=
"</span>&gt;</span>requestProduct<span class=3D"ydpe8509dbehljs-tag">&lt;/<=
span class=3D"ydpe8509dbehljs-name">xsl:param</span>&gt;</span>
    <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe8509dbehljs-=
name">xsl:param</span> <span class=3D"ydpe8509dbehljs-attr">name</span>=3D<=
span class=3D"ydpe8509dbehljs-string">"keepAttr"</span> <span class=3D"ydpe=
8509dbehljs-attr">static</span>=3D<span class=3D"ydpe8509dbehljs-string">"y=
es"</span> <span class=3D"ydpe8509dbehljs-attr">as</span>=3D<span class=3D"=
ydpe8509dbehljs-string">"xs:string*"</span> <span class=3D"ydpe8509dbehljs-=
attr">select</span>=3D<span class=3D"ydpe8509dbehljs-string">"'href', 'id'"=
</span>/&gt;</span>
=20=20=20=20
    <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe8509dbehljs-=
name">xsl:template</span> <span class=3D"ydpe8509dbehljs-attr">match</span>=
=3D<span class=3D"ydpe8509dbehljs-string">"/*"</span>&gt;</span>
        <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe8509dbeh=
ljs-name">xsl:element</span> <span class=3D"ydpe8509dbehljs-attr">name</spa=
n>=3D<span class=3D"ydpe8509dbehljs-string">"{$root}"</span> <span class=3D=
"ydpe8509dbehljs-attr">namespace</span>=3D<span class=3D"ydpe8509dbehljs-st=
ring">"{$namespace}"</span>&gt;</span>
            <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe8509=
dbehljs-name">xsl:apply-templates</span> <span class=3D"ydpe8509dbehljs-att=
r">select</span>=3D<span class=3D"ydpe8509dbehljs-string">"@* , node()"</sp=
an>/&gt;</span>
        <span class=3D"ydpe8509dbehljs-tag">&lt;/<span class=3D"ydpe8509dbe=
hljs-name">xsl:element</span>&gt;</span>
    <span class=3D"ydpe8509dbehljs-tag">&lt;/<span class=3D"ydpe8509dbehljs=
-name">xsl:template</span>&gt;</span>
=20=20=20=20
    <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe8509dbehljs-=
name">xsl:template</span> <span class=3D"ydpe8509dbehljs-attr">match</span>=
=3D<span class=3D"ydpe8509dbehljs-string">"*"</span>&gt;</span>
        <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe8509dbeh=
ljs-name">xsl:element</span> <span class=3D"ydpe8509dbehljs-attr">name</spa=
n>=3D<span class=3D"ydpe8509dbehljs-string">"{local-name()}"</span> <span c=
lass=3D"ydpe8509dbehljs-attr">namespace</span>=3D<span class=3D"ydpe8509dbe=
hljs-string">"{$namespace}"</span>&gt;</span>
            <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe8509=
dbehljs-name">xsl:apply-templates</span> <span class=3D"ydpe8509dbehljs-att=
r">select</span>=3D<span class=3D"ydpe8509dbehljs-string">"@* , node()"</sp=
an>/&gt;</span>
        <span class=3D"ydpe8509dbehljs-tag">&lt;/<span class=3D"ydpe8509dbe=
hljs-name">xsl:element</span>&gt;</span>
    <span class=3D"ydpe8509dbehljs-tag">&lt;/<span class=3D"ydpe8509dbehljs=
-name">xsl:template</span>&gt;</span>
=20=20=20=20
    <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe8509dbehljs-=
name">xsl:template</span> <span class=3D"ydpe8509dbehljs-attr">match</span>=
=3D<span class=3D"ydpe8509dbehljs-string">"@*"</span>&gt;</span>
        <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe8509dbeh=
ljs-name">xsl:choose</span>&gt;</span>
            <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe8509=
dbehljs-name">xsl:when</span> <span class=3D"ydpe8509dbehljs-attr">test</sp=
an>=3D<span class=3D"ydpe8509dbehljs-string">"local-name() =3D $keepAttr"</=
span>&gt;</span>
                <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"ydpe=
8509dbehljs-name">xsl:element</span> <span class=3D"ydpe8509dbehljs-attr">n=
ame</span>=3D<span class=3D"ydpe8509dbehljs-string">"{local-name()}"</span>=
 <span class=3D"ydpe8509dbehljs-attr">namespace</span>=3D<span class=3D"ydp=
e8509dbehljs-string">"{$namespace}"</span>&gt;</span>
                    <span class=3D"ydpe8509dbehljs-tag">&lt;<span class=3D"=
ydpe8509dbehljs-name">xsl:value-of</span> <span class=3D"ydpe8509dbehljs-at=
tr">select</span>=3D<span class=3D"ydpe8509dbehljs-string">"."</span>/&gt;<=
/span>
                <span class=3D"ydpe8509dbehljs-tag">&lt;/<span class=3D"ydp=
e8509dbehljs-name">xsl:element</span>&gt;</span>
            <span class=3D"ydpe8509dbehljs-tag">&lt;/<span class=3D"ydpe850=
9dbehljs-name">xsl:when</span>&gt;</span>
        <span class=3D"ydpe8509dbehljs-tag">&lt;/<span class=3D"ydpe8509dbe=
hljs-name">xsl:choose</span>&gt;</span>
    <span class=3D"ydpe8509dbehljs-tag">&lt;/<span class=3D"ydpe8509dbehljs=
-name">xsl:template</span>&gt;</span></code></pre></div><br><font size=3D"3=
" face=3D"Helvetica Neue, Helvetica, Arial, sans-serif">Undesirable result:=
</font><br><div><pre><code class=3D"ydpcb555605hljs ydpcb555605xml" data-la=
ng=3D""><span class=3D"ydpcb555605hljs-tag">&lt;<span class=3D"ydpcb555605h=
ljs-name">requestProduct</span> <span class=3D"ydpcb555605hljs-attr">xmlns<=
/span>=3D<span class=3D"ydpcb555605hljs-string">"http://fc.fasset/product"<=
/span>&gt;</span>
   <span class=3D"ydpcb555605hljs-tag">&lt;<span class=3D"ydpcb555605hljs-n=
ame">trade</span>&gt;</span>
      <span class=3D"ydpcb555605hljs-tag">&lt;<span class=3D"ydpcb555605hlj=
s-name">cal</span>&gt;</span>
         <span class=3D"ydpcb555605hljs-tag">&lt;<span class=3D"ydpcb555605=
hljs-name">c</span>&gt;</span>PRECEDING<span class=3D"ydpcb555605hljs-tag">=
&lt;/<span class=3D"ydpcb555605hljs-name">c</span>&gt;</span>
         <span class=3D"ydpcb555605hljs-tag">&lt;<span class=3D"ydpcb555605=
hljs-name">bcs</span>&gt;</span>
            <span class=3D"ydpcb555605hljs-tag">&lt;<span class=3D"ydpcb555=
605hljs-name">id</span>&gt;</span>businessCenters<span class=3D"ydpcb555605=
hljs-tag">&lt;/<span class=3D"ydpcb555605hljs-name">id</span>&gt;</span>
            <span class=3D"ydpcb555605hljs-tag">&lt;<span class=3D"ydpcb555=
605hljs-name">bc</span>&gt;</span>USNY<span class=3D"ydpcb555605hljs-tag">&=
lt;/<span class=3D"ydpcb555605hljs-name">bc</span>&gt;</span>
            <span class=3D"ydpcb555605hljs-tag">&lt;<span class=3D"ydpcb555=
605hljs-name">bc</span>&gt;</span>GBLO<span class=3D"ydpcb555605hljs-tag">&=
lt;/<span class=3D"ydpcb555605hljs-name">bc</span>&gt;</span>
         <span class=3D"ydpcb555605hljs-tag">&lt;/<span class=3D"ydpcb55560=
5hljs-name">bcs</span>&gt;</span>
      <span class=3D"ydpcb555605hljs-tag">&lt;/<span class=3D"ydpcb555605hl=
js-name">cal</span>&gt;</span>
      <span class=3D"ydpcb555605hljs-tag">&lt;<span class=3D"ydpcb555605hlj=
s-name">amount</span>&gt;</span>
<b><font color=3D"#cd232c">         <span class=3D"ydpcb555605hljs-tag">&lt=
;<span class=3D"ydpcb555605hljs-name">currency</span>&gt;</span>
            <span class=3D"ydpcb555605hljs-tag">&lt;<span class=3D"ydpcb555=
605hljs-name">id</span>&gt;</span>settlementCurrency<span class=3D"ydpcb555=
605hljs-tag">&lt;/<span class=3D"ydpcb555605hljs-name">id</span>&gt;</span>=
USD<span class=3D"ydpcb555605hljs-tag">&lt;/<span class=3D"ydpcb555605hljs-=
name">currency</span>&gt;</span></font></b>
         <span class=3D"ydpcb555605hljs-tag">&lt;<span class=3D"ydpcb555605=
hljs-name">referenceAmount</span>&gt;</span>StandardISDA<span class=3D"ydpc=
b555605hljs-tag">&lt;/<span class=3D"ydpcb555605hljs-name">referenceAmount<=
/span>&gt;</span>
         <span class=3D"ydpcb555605hljs-tag">&lt;<span class=3D"ydpcb555605=
hljs-name">cashSettlement</span>&gt;</span>true<span class=3D"ydpcb555605hl=
js-tag">&lt;/<span class=3D"ydpcb555605hljs-name">cashSettlement</span>&gt;=
</span>
      <span class=3D"ydpcb555605hljs-tag">&lt;/<span class=3D"ydpcb555605hl=
js-name">amount</span>&gt;</span>
   <span class=3D"ydpcb555605hljs-tag">&lt;/<span class=3D"ydpcb555605hljs-=
name">trade</span>&gt;</span>
<span class=3D"ydpcb555605hljs-tag">&lt;/<span class=3D"ydpcb555605hljs-nam=
e">requestProduct</span>&gt;</span></code></pre></div><font size=3D"3" face=
=3D"Helvetica Neue, Helvetica, Arial, sans-serif">The transformation logic:=
</font><br></code><code class=3D"ydpc46d430fhljs ydpc46d430fxml" data-lang=
=3D""></code></pre><div><font size=3D"3" face=3D"verdana, helvetica, sans-s=
erif"><code class=3D"ydpc46d430fhljs ydpc46d430fxml" data-lang=3D""><div di=
r=3D"ltr" data-setdir=3D"false">1) transform namespace </div><div dir=3D"lt=
r" data-setdir=3D"false"><br></div><div dir=3D"ltr" data-setdir=3D"false">2=
) transform root element </div><div dir=3D"ltr" data-setdir=3D"false"><br><=
/div><div dir=3D"ltr" data-setdir=3D"false">3) transform the selected attri=
bute(s) to element (the attribute name is parameterised not hard-coded) </d=
iv><div dir=3D"ltr" data-setdir=3D"false"><br></div><div dir=3D"ltr" data-s=
etdir=3D"false">4) the transformed element shouldn't contain both other ele=
ment (transformed from the attribute) and its original data</div></code></f=
ont></div><div><br></div><pre><code class=3D"ydpc46d430fhljs ydpc46d430fxml=
" data-lang=3D""><div dir=3D"ltr" data-setdir=3D"false"><font size=3D"3" fa=
ce=3D"Helvetica Neue, Helvetica, Arial, sans-serif">The desired result:</fo=
nt></div><div dir=3D"ltr" data-setdir=3D"false"><br></div><div dir=3D"ltr" =
data-setdir=3D"false"><div><pre><code class=3D"ydpe47354c9hljs ydpe47354c9x=
ml" data-lang=3D""><span class=3D"ydpe47354c9hljs-tag">&lt;<span class=3D"y=
dpe47354c9hljs-name">requestProduct</span> <span class=3D"ydpe47354c9hljs-a=
ttr">xmlns</span>=3D<span class=3D"ydpe47354c9hljs-string">"http://fc.fasse=
t/product"</span>&gt;</span>
   <span class=3D"ydpe47354c9hljs-tag">&lt;<span class=3D"ydpe47354c9hljs-n=
ame">trade</span>&gt;</span>
      <span class=3D"ydpe47354c9hljs-tag">&lt;<span class=3D"ydpe47354c9hlj=
s-name">cal</span>&gt;</span>
         <span class=3D"ydpe47354c9hljs-tag">&lt;<span class=3D"ydpe47354c9=
hljs-name">c</span>&gt;</span>PRECEDING<span class=3D"ydpe47354c9hljs-tag">=
&lt;/<span class=3D"ydpe47354c9hljs-name">c</span>&gt;</span>
         <span class=3D"ydpe47354c9hljs-tag">&lt;<span class=3D"ydpe47354c9=
hljs-name">bcs</span>&gt;</span>
            <span class=3D"ydpe47354c9hljs-tag">&lt;<span class=3D"ydpe4735=
4c9hljs-name">id</span>&gt;</span>businessCenters<span class=3D"ydpe47354c9=
hljs-tag">&lt;/<span class=3D"ydpe47354c9hljs-name">id</span>&gt;</span>
            <span class=3D"ydpe47354c9hljs-tag">&lt;<span class=3D"ydpe4735=
4c9hljs-name">bc</span>&gt;</span>USNY<span class=3D"ydpe47354c9hljs-tag">&=
lt;/<span class=3D"ydpe47354c9hljs-name">bc</span>&gt;</span>
            <span class=3D"ydpe47354c9hljs-tag">&lt;<span class=3D"ydpe4735=
4c9hljs-name">bc</span>&gt;</span>GBLO<span class=3D"ydpe47354c9hljs-tag">&=
lt;/<span class=3D"ydpe47354c9hljs-name">bc</span>&gt;</span>
         <span class=3D"ydpe47354c9hljs-tag">&lt;/<span class=3D"ydpe47354c=
9hljs-name">bcs</span>&gt;</span>
      <span class=3D"ydpe47354c9hljs-tag">&lt;/<span class=3D"ydpe47354c9hl=
js-name">cal</span>&gt;</span>
      <span class=3D"ydpe47354c9hljs-tag">&lt;<span class=3D"ydpe47354c9hlj=
s-name">amount</span>&gt;</span>
<b><font color=3D"#5b8828">         <span class=3D"ydpe47354c9hljs-tag">&lt=
;<span class=3D"ydpe47354c9hljs-name">currency</span>&gt;</span>USD<span cl=
ass=3D"ydpe47354c9hljs-tag">&lt;/<span class=3D"ydpe47354c9hljs-name">curre=
ncy</span>&gt;</span>
         <span class=3D"ydpe47354c9hljs-tag">&lt;<span class=3D"ydpe47354c9=
hljs-name">id</span>&gt;</span>settlementCurrency<span class=3D"ydpe47354c9=
hljs-tag">&lt;/<span class=3D"ydpe47354c9hljs-name">id</span>&gt;</span></f=
ont></b>
         <span class=3D"ydpe47354c9hljs-tag">&lt;<span class=3D"ydpe47354c9=
hljs-name">referenceAmount</span>&gt;</span>StandardISDA<span class=3D"ydpe=
47354c9hljs-tag">&lt;/<span class=3D"ydpe47354c9hljs-name">referenceAmount<=
/span>&gt;</span>
         <span class=3D"ydpe47354c9hljs-tag">&lt;<span class=3D"ydpe47354c9=
hljs-name">cashSettlement</span>&gt;</span>true<span class=3D"ydpe47354c9hl=
js-tag">&lt;/<span class=3D"ydpe47354c9hljs-name">cashSettlement</span>&gt;=
</span>
      <span class=3D"ydpe47354c9hljs-tag">&lt;/<span class=3D"ydpe47354c9hl=
js-name">amount</span>&gt;</span>
   <span class=3D"ydpe47354c9hljs-tag">&lt;/<span class=3D"ydpe47354c9hljs-=
name">trade</span>&gt;</span>
<span class=3D"ydpe47354c9hljs-tag">&lt;/<span class=3D"ydpe47354c9hljs-nam=
e">requestProduct</span>&gt;</span></code></pre></div></div><div dir=3D"ltr=
" data-setdir=3D"false"><font size=3D"3" face=3D"Helvetica Neue, Helvetica,=
 Arial, sans-serif">What is wrong with my module? How can I transform the i=
nput to the desired result?  </font></div><div dir=3D"ltr" data-setdir=3D"f=
alse"><font size=3D"3" face=3D"Helvetica Neue, Helvetica, Arial, sans-serif=
"><br></font></div><div dir=3D"ltr" data-setdir=3D"false"><font size=3D"3" =
face=3D"Helvetica Neue, Helvetica, Arial, sans-serif">Thank you!<br></font>=
</div><br></code></pre></div><div>&nbsp;&nbsp;&nbsp; </div></div></div></bo=
dy></html>
<div><!-- begin bl.html.trailer -->
<div style=3D"border-top:1px solid black; background-color: #dddddd;
color: #888888; font-size: smaller; padding: 5px; text-align: center;
font-family: arial,verdana,arial,sans-serif; margin-top:1em; clear:
both; margin: auto">
<a href=3D"http://www.mulberrytech.com/xsl/xsl-list">
XSL-List info and archive</a>
<div style=3D"text-align:center;">
<a style=3D"color: blue;"
  href=3D"http://lists.mulberrytech.com/unsub/xsl-list/3329386"
>EasyUnsubscribe</a>
(<a style=3D"color: blue;"
href=3D"mailto:[email protected]?subject=3Dremove"
>by email</a>)
</div>
</div>
<!-- end bl.html.trailer --></div>

------=_Part_268199_528325268.1621607376066--