This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: following sibling attribute
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 29 Apr 2002 20:11:31 +0100
- Subject: RE: [xsl] following sibling attribute
- Reply-to: xsl-list at lists dot mulberrytech dot com
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@ntlworld.com
work: Michael.Kay@softwareag.com
> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of Sripriya
> Venkataraman
> Sent: 29 April 2002 17:28
> To: 'xsl-list@lists.mulberrytech.com'
> 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