RE: [xsl] AW: [Maybe spam] [xsl] copying raw xml and changing values...

Subject: RE: [xsl] AW: [Maybe spam] [xsl] copying raw xml and changing values...
From: "Graham Walsh" <graham_walsh50@xxxxxxxxxxx>
Date: Wed, 16 Feb 2005 08:03:29 -0500
Hi Roman,

yes, that's correct. I would like the input document to be copied exactly except that the TradeId and ExtTradeID have been updated;

so;

<Trades>
	<Trade>
	   <TradeId>FOO</TradeId>
                  <ExtTradeId>300</TradeId>
	</Trade>

               <Trade>
                 <TradeId>BAR</TradeId>
                 <ExtTradeId>301</TradeId>
	</Trade>
</Trades>

should become....


<Trades> <Trade> <TradeId>300</TradeId> <ExtTradeId>1</TradeId> </Trade>

               <Trade>
                 <TradeId>301</TradeId>
                 <ExtTradeId>1</TradeId>
	</Trade>
</Trades>


i.e. I replace the TradeId value with the ExtTradeId value. In paralel I want to use a counter to put a value in ExtTradeId, starting at 1 and incrementing each time.



thank you so much for these replies......I really appreciate them :)



Graham


From: "Huditsch Roman" <Roman.Huditsch@xxxxxxxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject: [xsl] AW: [Maybe spam] [xsl] copying raw xml and changing values...
Date: Wed, 16 Feb 2005 13:43:03 +0100


Hi Graham,

Could you give an example of how you would expect your outcome to look like?

Should it be:

<Trades>
	<Trade>
 		<TradeId>1</TradeId>
            	<ExtTradeId>FOO</TradeId>
 	</Trade>
 	<Trade>
 		<TradeId>2</TradeId>
		<ExtTradeId>FOO</TradeId>
	</Trade>
	<Trade>
 		<TradeId>3</TradeId>
		<ExtTradeId>FOO</TradeId>
 	</Trade>
  </Trades>

wbr,
Roman

> -----Urspr|ngliche Nachricht-----
> Von: Graham Walsh [mailto:graham_walsh50@xxxxxxxxxxx]
> Gesendet: Mittwoch, 16. Februar 2005 13:29
> An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Betreff: [Maybe spam] [xsl] copying raw xml and changing values...
>
> Hi,
>
> I can't seem to get this right... it's buggin me as I'm very
> new to xsl and I'm under pressure here :(
>
> I've got XML that looks something like this...
>
>
>
> I want to iterate over all the "Trade" elements and replace
> the ExtTradeId attribute with the value contained in the
> TradeId field. In addition I want to use a counter to replace
> the TradeId with the value of counter , and increment the
> counter each time.
>
> I can't for the life of me see how to do this. My output is
> raw XML so I'm using xsl:copy and xsl:for-each but am making
> a hames of it altogether.
>
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> <xsl:template match="@*|node()">
> <xsl:copy>
>   <xsl:apply-templates select="@*|node()"/>
> <xsl:for-each select="Trade">
>       <xsl:value-of select="TradeId"/>
> </xsl:for-each>
>
>
> </xsl:copy>
> </xsl:template>
>
>
> Can anybody give me some pointers. I think a script might be
> better in this
> case but I'm on the xsl track so I might as well stay on it.
>
> thanks MILLIONS to anybody that can provide help... my boss
> is givin' me
> grief over this.... how to be an XSL expert in 12 hours! :( :(
>
> G

Current Thread