[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: finding nodes
Hi Vasu, You say I should use <xsl:apply-templates select="//campus[@name = $value]"/> and then define the template match = "campus". But wouldn't <xsl:template match="campus"> match other campus nodes as well. I want only campus nodes having name=$value. Would I have to use mode in that case. I feel using for-each and iterating over a nodeset sounds better though a bit complex. I think 'campus' nodes having 'name' attribute would only appear at the top-level of the document. Can I just say the below (single slash) in that case. <xsl:variable name="nset"> <xsl:copy-of select="/campus[@name = $value]"/> </xsl:variable> Regards, Omprakash.V "Vasu Chakkera" <vasucv@hotmail. To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> com> cc: (bcc: omprakash.v/Polaris) Subject: Re: finding nodes 01/24/2005 06:59 PM Please respond to xsl-list 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]"/> </xsl:variable> 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...... </xsl:for-each> 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.. HTH Vasu ----- Original Message ----- From: <omprakash.v@xxxxxxxxxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Sent: Monday, January 24, 2005 1:04 PM Subject: 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 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|