Altova Mailing List Archives>Archive Index >comp.text.xml Archive Home >Recent entries >Thread Prev - Re: Specify an element in a nodeset directly >Thread Next - Re: Specify an element in a nodeset directly Re: Specify an element in a nodeset directlyTo: NULL Date: 10/3/2006 9:02:00 AM Dimitre Novatchev wrote: > > However, if I do a <xsl:value-of select="$myblahs/blah[2]/yada"/> > > Try: > > $myblahs[2]/yada > > > Cheers, > Dimitre Novatchev > > <eric.goforth@g...> wrote in message > news:1159822124.780628.81270@b...... > > > > Peter Flynn wrote: > >> eric.goforth@g... wrote: > >> > Hello, > >> > > >> > Is there any way to directly access an element in a nodeset? > >> > > >> > For example, if working with: > >> > > >> > <blahs rec_count="16"> > >> > <blah> > >> > <yada>abc</yada> > >> > </blah> > >> > <blah> > >> > <yada>123</yada> > >> > </blah> > >> > <blah> > >> > <yada>xyz</yada> > >> > </blah> > >> > </blahs> > >> > > >> > For instance, I could specify something like blahs/blah[2]/yada and get > >> > the value of "123"? > >> > >> Yes, exactly that. In XSLT, for example, you would write > >> > >> <xsl:value-of select="blahs/blah[2]/yada"/> > >> > >> But this doesn't have anything to do with nodesets. > >> It's just an XPath statement referencing an element. > >> > > > > Peter, > > > > Hmmm, well the situation in a little more detail is that I'm passing in > > this nodeset, I believe that's the right word, in a parameter. > > > > So my entire XML document looks more like: > > > > <mydoc> > > <mystuff> > > <blahs rec_count="3"> > > <blah> > > <yada>abc</yada> > > </blah> > > <blah> > > <yada>123</yada> > > </blah> > > <blah> > > <yada>xyz</yada> > > </blah> > > </blahs> > > </mystuff> > > </mydoc> > > > > I'm passing the blahs to a template as a parameter like so: > > > > > > <xsl:apply-templates select="somestuff"> > > <xsl:with-param name="myblahs" > > select="/mydoc/mystuff/blahs"></xsl:with-param> > > </xsl:apply-templates> > > > > > > Then in my template it looks something like: > > > > <xsl:template match="somestuff"> > > > > <xsl:param name="myblahs"/> > > > > ... Do some stuff... > > > > </xsl:template > > > > > So debugging the transformation of the somestuff template in XMLSpy">XMLSpy, > > if I look at $myblahs in the XPath-Watch, I see NodeSet[1]. If I click > > on the NodeSet[1] beside the $myblahs in the XPath-Watch I see blahs > > with a rec_count="3", so my data made it inside the somestuff template. > > > > However, if I do a <xsl:value-of select="$myblahs/blah[2]/yada"/> > > > > I get an Error: Invalid XPath. > > > > Thanks, > > Eric > > I've figured out how to do get it to work. <xsl:value-of select="$myblahs/blah[2]/yada"/> is working for me now, I think that I must have had a type in there. The only problem I'm having now is figuring out how to make the "2" variable. For instance: <xsl:value-of select="$myblahs/blah[/xpath1/xpath2/someintegervalue]/yada"/> -Eric | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
