RE: [xsl] following sibling attribute

Subject: RE: [xsl] following sibling attribute
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Mon, 29 Apr 2002 21:38:28 +0100
Will all the CHANNELRESULTS have the same attributes, or will the attributes
vary from one to another? The first case is quite easy to do (you iterate
over the attributes using <xsl:for-each select="@*">, the second is much
harder.

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 Sripriya
> Venkataraman
> Sent: 29 April 2002 20:19
> To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
> Subject: RE: [xsl] following sibling attribute
>
>
> The attributes could be different. I do not know what the
> attribute names
> are ...
>
> What I have to do is look for the CHANNELRESULTS element and
> output in the
> below format.
> Attribute Name	Value of attribute from all channels
> separated by tab
>
> Thanks,
> Priya
> X 323
>
>
> -----Original Message-----
> From: Michael Kay [mailto:michael.h.kay@xxxxxxxxxxxx]
> Sent: Monday, April 29, 2002 12:12 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] following sibling attribute
>
>
> This is a very simple transformation, and you don't need to
> use preceding or
> following sibling. When processing the parent of the <CHANNELRESULTS>
> elements, do
>
> tr
> for-each CHANNELRESULTS
>   td
>     value-of @channel
>   /td
> /for-each
> /tr
>
> tr
> for-each CHANNELRESULTS
>   td
>     value-of @ControlInhibitorRFU
>   /td
> /for-each
> /tr
>
> and so on.
>
> 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 Sripriya
> > Venkataraman
> > Sent: 29 April 2002 17:28
> > To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
> > Subject: [xsl] following sibling attribute
> >
> >
> > Hi,
> >
> > I have the following XML that I am trying to convert into
> > text using XSL.
> >
> > <CHANNELRESULTS Channel="1" ControlInhibitorRFU="140.88"
> > BaselineRFU="232.04" WidthAtHalfHeight="16.90" NoiseAvg="242.10"
> > NoiseStdev="6.90" InhibitionNoiseAvg="12.94"
> > InhibitionNoiseStdev="4.30">
> > <CHANNELRESULTS Channel="2" ControlInhibitorRFU="141.91"
> > BaselineRFU="376.62" WidthAtHalfHeight="14.50" NoiseAvg="393.22"
> > NoiseStdev="13.71" InhibitionNoiseAvg="11.48"
> > InhibitionNoiseStdev="5.58">
> > <CHANNELRESULTS Channel="3" ControlInhibitorRFU="162.61"
> > BaselineRFU="454.27" WidthAtHalfHeight="14.80" NoiseAvg="472.27"
> > NoiseStdev="15.29" InhibitionNoiseAvg="10.91"
> > InhibitionNoiseStdev="2.87">
> >
> > I want the text output as:
> >
> > Channel			1		2		3
> > ControlInhibitorRFU	140.88	141.91	162.61
> > BaselineRFU			232.04	376.62	454.27
> > ...
> >
> > How do I select all the attributes from the preceding or
> > following nodes ?
> > What am I doing wrong ??
> >
> > 	<xsl:template match="CHANNELRESULTS">
> > 		<xsl:if test="position() = last()">
> > 		<xsl:for-each select="@*">
> > 			<xsl:value-of select="."/>
> > 			<xsl:value-of
> > select="preceding::node()/name(.)"/>
> > 		</xsl:for-each>
> > 		</xsl:if>
> > 	</xsl:template>
> >
> > Thanks,
> > Priya
> >
> >
> >  XSL-List info and archive:
> http://www.mulberrytech.com/xsl/xsl-list
> >
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread