Hi Vasu,
You say I should use
<xsl:apply-templates select="//campus[(_at_)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[(_at_)name = $value]"/>
</xsl:variable>
Regards,
Omprakash.V
"Vasu Chakkera"
<vasucv(_at_)hotmail(_dot_) To:
<xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
com> cc: (bcc:
omprakash.v/Polaris)
Subject: Re: [xsl] finding nodes
01/24/2005 06:59
PM
Please respond
to xsl-list
You probably need
<xsl:apply-templates select="//campus[(_at_)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[(_at_)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(_dot_)v(_at_)polaris(_dot_)co(_dot_)in>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
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[(_at_)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
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
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
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--