Subject: RE: [xsl] Performance with grouping From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Wed, 20 Mar 2002 09:32:57 -0000 |
The following should give the right result and adequate performance: <xsl:variable name="first" select="/RESPONSES/RESPONSE[1]"/> <xsl:template match="RESPONSES"> <residents> <xsl:apply-templates/> </residents> </xsl:template> <xsl:template match="RESPONSE[1]"/> <xsl:template match="RESPONSE"> <resident> <xsl:for-each select="*"> <xsl:element name="{$first/*[name()=name(current())]}"> <xsl:value-of select="."/> </xsl:element> </xsl:for-each> </resident> </xsl:template> Not tested. Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Maulik Modi > Sent: 19 March 2002 22:13 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Performance with grouping > > > Hi, > > I have the following XML : > > <RESPONSES> > <RESPONSE> > <C0><![CDATA[Res_ID]]></C0> > <C1><![CDATA[Res_Type]]></C1> > <C2><![CDATA[Error]]></C2> > </RESPONSE> > <RESPONSE> > <C0><![CDATA[15760412_105755]]></C0> > <C1><![CDATA[SF-IND]]></C1> > <C2><![CDATA[Unverifiable Service Address]]></C2> > </RESPONSE> > <RESPONSE> > <C0><![CDATA[15930044_106686]]></C0> > </RESPONSE> > <RESPONSE> > <C0><![CDATA[15600408_106431]]></C0> > <C1><![CDATA[SF-IND]]></C1> > </RESPONSE> > </RESPONSES> > > The actual XML could have several children like C0, C1, > C2.......Cn and also > several RESPONSE tags. I need to dynamically extract the > tagname from always > the first <RESPONSE> node and then do further processing to group each > node-set into a <resident> tag like: > > <residents> > <resident> > <Res_ID>15760412_105755</Res_ID> > <Res_Type>SF-IND</Res_Type> > <Error>Unverifiable Service Address</Error> > </resident> > <resident> > <Res_ID>15930044_106686</Res_ID> > <Res_Type>SF-IND</Res_Type> > </resident> > <resident> > <Res_ID>15600408_106431</Res_ID> > <Res_Type>SF-IND</Res_Type> > </resident> > </residents> > > However, what I have working so far is this: > > <residents> > <resident> > <Res_ID>15760412_105755</Res_ID> > <Res_ID>15930044_106686</Res_ID> > <Res_ID>15600408_106431</Res_ID> > </resident> > <resident> > <Res_Type>SF-IND</Res_Type> > <Res_Type>SF-IND</Res_Type> > </resident> > <resident> > <Error>Unverifiable Service Address</Error> > </resident> > </residents> > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Performance with grouping, Carsten Klein | Thread | Re: [xsl] Performance with grouping, Hans Huber |
[xsl] disable output escaping when , Ivanco Maros | Date | RE: [xsl] current date and time, Michael Kay |
Month |