Re: Copy attribute from a node to another

Subject: Re: Copy attribute from a node to another
From: Phil Lanch <phil@xxxxxxxxxxxxxxx>
Date: Tue, 14 Dec 1999 16:14:38 +0000
Niclas Wallander wrote:
> 
> A node in my XML looks like this:
> 
>   <node align="right">some text</node>
> 
> And in my xsl i want to transform it to
> 
>   <node align="right">some text
>     <subnode>
>       <format width="45" align="right"/>
>     </subnode>
>   </node>
> 
> All data in 'subnode' and 'format' are static except for 'align'
> that comes from 'node'. So what I want is to copy the attribute from one
> node to a node that are created in the same XSL.

If you include {...something...} in an attribute value on a literal
result element, it's interpreted as an attribute value template - which
means that the ...something... is evaluated as an expression and the
whole {...something...} is replaced with the value obtained. So -

<xsl:template match="node">
  <node align="{@align}"><xsl:value-of select="."/>
    <subnode>
      <format width="45" align="{@align}"/>
    </subnode>
  </node>
</xsl:template>

-- 

cheers

phil

"that monotonous state of the soul halfway between fulfillment
and futility which comes with life in the country" --- Musil


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread