[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] finding nodes

Subject: Re: [xsl] finding nodes
From: "Vasu Chakkera" <vasucv@xxxxxxxxxxx>
Date: Mon, 24 Jan 2005 13:29:41 -0000

You probably need
<xsl:apply-templates select="//campus[@name = $value]"/>

and then define the template match = "campus" to do what you want to do with
that node.

I think this should work.

If you needed to store the nodeset in the variable ....
Firstly you must copy the nodes in to this variable.. using the copy-of...
<xsl:variable name="nset">
 <xsl:copy-of select="//campus[@name = $value]"/>
 and then iterate

For iterating, you  need an iteration expression like xsl:for-each to loop
through the variable. Secondly you need a function like nodeset() that will
evaluate your variable to a node list. usually all processors have the
nodeset functions. check your processor's documentation for how to use this
extension function.
your expression will look like

<xsl:for-each select="xx:nodeset($nset)/">
   do something to this node......
If you wanted to print the nodeset that you had stored in the variable, then
you could do
<xsl:copy-of select="$nset"/>
 > My context node is elsewhere in the xml file.
Make sure you definitely want to do this nodeset business. a double slash
( //) will get you the campus where ever it is in the document from the root
and doesnt care what your context node is..

----- Original Message ----- 
From: <omprakash.v@xxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Monday, January 24, 2005 1:04 PM
Subject: [xsl] finding nodes

> Hi,
>     Iam trying to find the set of nodes having the name attribute
> = '$something'. But, Iam only being returned an empty set.
> In my stylesheet I have this:
> I have $value =' resident'
>  <xsl:variable name="nset">
>  <xsl:value-of select="//campus[@name = $value]"/>
>  </xsl:variable>
> <xsl:message> nodeset  <xsl:value-of select="$nset"/></xsl:message>
> I would then like to iterate  over the nodeset returned.
> But all I get is
> Message: nodeset
> Message: nodeset
> In my xml I have
> <campus name="resident">
>      <detail>
>           <student name="location" type="ps:north"/>
>           <student name="distance" type="ps:km"/>
>      </detail>
> </campus>
> My context node is elsewhere in the xml file.
> Regards,
> Omprakash.V
> This e-Mail may contain proprietary and confidential information and is
sent for the intended recipient(s) only.
> If by an addressing or transmission error this mail has been misdirected
to you, you are requested to delete this mail immediately.
> You are also hereby notified that any use, any form of reproduction,
dissemination, copying, disclosure, modification,
> distribution and/or publication of this e-mail message, contents or its
attachment other than by its intended recipient/s is strictly prohibited.
> Visit Us at http://www.polaris.co.in

Current Thread