Altova Mailing List Archives>Archive Index >microsoft.public.xsl Archive Home >Recent entries >Thread Prev - Re: XSL Problem [Thread Next] Re: XSL ProblemTo: NULL Date: 2/3/2006 8:53:00 AM "infiniti" <jainamber@g...> wrote in message news:1138903520.888282.47800@g...... > HI Joe, thanks for your help. I tried both the changes one by one but I > was not able to get the "Searches" attribute value with either of them. > Am I doing something wrong? > Although Anthony's solution using keys is more elegant your XPath to reach searches was missing a step: <xsl:variable name="node" select="/xml/RelatedKeyword/Common[. = current()/@searchTerm]" /> <xsl:attribute name="Searches"> <xsl:value-of select="$node/../Searches" /><!-- Searches is a sibling of Common so you need to up one level --> </xsl:attribute> The complete sheet: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:apply-templates select="xml" /> </xsl:template> <xsl:variable name="basename" select='bid' /> <xsl:template match="xml"> <xml> <xsl:for-each select="GetMarketStateResponse"> <row> <xsl:attribute name="RelatedKeyword"> <xsl:value-of select="@searchTerm" /> </xsl:attribute> <xsl:variable name="node" select="/xml/RelatedKeyword/Common[. = current()/@searchTerm]" /> <xsl:attribute name="Searches"> <xsl:value-of select="$node/../Searches" /> </xsl:attribute> <xsl:for-each select="./Listing"> <xsl:variable name="rank" select="@rank" /> <xsl:attribute name="bid{$rank}"> <xsl:value-of select="@bid" /> </xsl:attribute> </xsl:for-each> </row> </xsl:for-each> </xml> </xsl:template> </xsl:stylesheet> -- Joe Fawcett - XML MVP https://mvp.support.microsoft.com/profile=8AA9D5F5-E1C2-44C7-BCE8-8741D22D17A5 | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
