xsl-list
[Top] [All Lists]

RE [xsl] copying raw xml and changing values...

2005-02-16 07:11:47
thank you SOOOO much for that. It's what I'm after except there's one thing I left out (sorry:( )

The input XML actually has other attributes/values etc and I need them output too....e.g.

The FOO, BAR and USERNAME additions below reflect the true nature of the input XML. Is there a simple way to include these in the output too? I don't know in advance their names or how many of them exist, it varies from input to input. The TradeId and ExtTradeId parts are always there though.

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="C:\gwalsh\xslt\importRulesForOTC.xsl"?>
<BAR>
<FOO>
<Trades>
               <USERNAME>Bob</USERNAME>
        <Trade>
                <TradeId>FOO</TradeId>
                <ExtTradeId>300</ExtTradeId>
        </Trade>
        <Trade>
                <TradeId>BAR</TradeId>
                <ExtTradeId>301</ExtTradeId>
        </Trade>
</Trades>
</FOO>

</BAR>



AGAIN, thanks sOOO SOOO much for your help on this one, I really appreciate it.

Graham

From: "Huditsch Roman" <Roman(_dot_)Huditsch(_at_)lexisnexis(_dot_)at>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: AW: [xsl] AW: [Maybe spam] [xsl] copying raw xml and changing values...
Date: Wed, 16 Feb 2005 14:40:28 +0100

Hi Graham,

As David said before

<?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="Trades">
                <Trades>
                        <xsl:for-each select="Trade">
                                <Trade>
                                        <TradeId>
                                                <xsl:value-of 
select="position()"/>
                                        </TradeId>
                                        <ExtTradeId>
                                                <xsl:value-of select="TradeId"/>
                                        </ExtTradeId>
                                </Trade>
                        </xsl:for-each>
                </Trades>
        </xsl:template>
</xsl:stylesheet>

should give you your desired results.

best wishes,
Roman

> -----Ursprüngliche Nachricht-----
> Von: Graham Walsh [mailto:graham_walsh50(_at_)hotmail(_dot_)com]




From: "Huditsch Roman" <Roman(_dot_)Huditsch(_at_)lexisnexis(_dot_)at>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: AW: [xsl] AW: [Maybe spam] [xsl] copying raw xml and changing values...
Date: Wed, 16 Feb 2005 14:40:28 +0100

Hi Graham,

As David said before

<?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="Trades">
                <Trades>
                        <xsl:for-each select="Trade">
                                <Trade>
                                        <TradeId>
                                                <xsl:value-of 
select="position()"/>
                                        </TradeId>
                                        <ExtTradeId>
                                                <xsl:value-of select="TradeId"/>
                                        </ExtTradeId>
                                </Trade>
                        </xsl:for-each>
                </Trades>
        </xsl:template>
</xsl:stylesheet>

should give you your desired results.

best wishes,
Roman

> -----Ursprüngliche Nachricht-----
> Von: Graham Walsh [mailto:graham_walsh50(_at_)hotmail(_dot_)com]
> Gesendet: Mittwoch, 16. Februar 2005 14:03
> An: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
> Betreff: RE: [xsl] AW: [Maybe spam] [xsl] copying raw xml and
> changing values...
>
> 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(_dot_)Huditsch(_at_)lexisnexis(_dot_)at>
> >Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
> >To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
> >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(_at_)hotmail(_dot_)com]
> > > Gesendet: Mittwoch, 16. Februar 2005 13:29
> > > An: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
> > > 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
> > >
> > >
> > >
> > >
> --~-----------------------------------------------------------------
> > > - XSL-List info and archive:
> > > http://www.mulberrytech.com/xsl/xsl-list
> > > To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
> > > or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
> > > --~--
> > >
> > >
> >
> >--~------------------------------------------------------------------
> >XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> >To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
> >or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
> >--~--
> >
>
>
>
> --~------------------------------------------------------------------
> XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
> or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
> --~--
>
>

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>