Subject: RE: [xsl] generating xml from xml From: "Murali Korrapati" <murali.korrapati@xxxxxxxxx> Date: Mon, 10 Nov 2003 14:27:12 -0500 |
Sure, "Trade/*" is just a guess at an appropriate match pattern based on the input sample you sent. You can match the elements any way that works for your data. (You only need a way to distinguish between elements that you want handled like this, and other elements.) Thanks for the solution. But I am not really good in this xsl. Solution to this problem will be helpful. Here is my current xsl that works fine for me. <xsl:stylesheet version="1.0" xmlns="" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:apply-templates select="*"/> </xsl:template> <xsl:template match="*"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <xsl:template match="Trade"> <Trade> <xsl:for-each select="*"> <xsl:element name="{/Data/Fields/_[@id=name(current())]/@fn}"> <xsl:apply-templates select="@* | node()"/> </xsl:element> </xsl:for-each> </Trade> </xsl:template> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> which works great on this xml : <Data Timestamp="2003-11-05 21:00:07"> <Fields> <_ fn="Level1" id="F0"/> <_ fn="Level2" id="F1"/> <_ fn="Level3" id="F2"/> <_ fn="TradeDate" id="F3"/> <_ fn="TradeId" id="F4"/> <_ fn="User" id="F5"/> </Fields> <Trades> <Trade> <F0/> <F1/> </Trade> <Trade> <F0/> <F1>Entry</F1> <F2/> </Trade> <Trade> <F0>Mid</F0> <F1/> <F2/> <F3/> <F4>126</F4> </Trade> </Trades> </Data> But I want it to work on this kind of xml also <Data Timestamp="2003-11-05 21:00:07"> <Fields> <_ fn="Level1" id="F0"/> <_ fn="Level2" id="F1"/> <_ fn="Level3" id="F2"/> <_ fn="TradeDate" id="F3"/> <_ fn="TradeId" id="F4"/> <_ fn="User" id="F5"/> </Fields> <Trades> <Trade> <F0/> <F1>Entry</F1> <F2/> </Trade> <Trade> <F0>Mid</F0> <F1/> <F2/> <F3/> <F4>126</F4> </Trade> </Trades> <DelTrades> <DelTrade> <F0/> <F1/> </DelTrade> </DelTrades> </Data> Notice that top nodes(Trade, DelTrade) on F0, F1 ..... are not same all the time. And I can't guarantee their names at run time. Is there any way directly(not depending on its top node) finding nodes F0, F1, F2 .......? Thanks, ~Mur XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] generating xml from xml, Wendell Piez | Thread | RE: [xsl] generating xml from xml, Wendell Piez |
RE: [xsl] xsl:key composite keys, Michael Kay | Date | RE: [xsl] Using Javascript function, Nik Coughlin |
Month |