This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: xsl:value-of select between quotes
- To: "vijay kumar" <reddy_vk at hotmail dot com>
- Subject: Re: [xsl] xsl:value-of select between quotes
- From: Jeni Tennison <mail at jenitennison dot com>
- Date: Thu, 19 Jul 2001 08:31:08 +0100
- CC: XSL-List at lists dot mulberrytech dot com
- Organization: Jeni Tennison Consulting Ltd
- References: <LAW2-F26o3DjFbUcOV100000f64@hotmail.com>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi Vijay,
> I am trying to write XSL to replace value. But it is giving error. I
> am trying to put two xsl:value-of select statements between the
> double quotes of the value. Is there any way of doing this.
>
> <attribute name="rate" value="
> <xsl:value-of
> select="TestCargoML/CargoML/Body/KBI/rate_information/iso_currency_code"/>
> <xsl:value-of
> select="TestCargoML/CargoML/Body/KBI/rate_information//net_amount"/> "/>
Assuming that you are trying to create some XML that looks like:
<attribute name="rate" value="USD32.99" />
where 'USD' is the value of the iso_currency_code element and 32.99 is
the net_amount, then you should use an attribute value template. I'd
be tempted to wrap it in an xsl:for-each so that you don't have to
write the entire path out again:
<xsl:for-each
select="TestCargoML/CargoML/Body/KBI/rate_information">
<attribute name="rate" value="{iso_currency_code}{.//net_amount}" />
</xsl:for-each>
You could use xsl:attribute instead to create the value attribute, but
it just means more code:
<xsl:for-each
select="TestCargoML/CargoML/Body/KBI/rate_information">
<attribute name="rate">
<xsl:attribute name="value">
<xsl:value-of select="iso_currency_code" />
<xsl:value-of select=".//net_amount" />
</xsl:attribute>
</attribute>
</xsl:for-each>
I hope that helps,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list