This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: xpath based on condition


Hello Aruniima,

you have to use <xsl:copy-of select="//Header/*[name()=$Path]"/>, but with this you will create a Result Tree Fragment, which can be converted back to a node set via an extension function.

But maybe it's enough to use:

<xsl:variable name="xpath-header" select="//Header"/>

<xsl:variable name="xpath" select="$xpath-header/*[name()=$Path]"/>

and do the logic whether to use $xpath-header or $xpath later. Maybe you can also use

<xsl:variable name="xpath" select="//Header/*[name()=$Path] | //Header"/>

(UNION of both node sets) and choose later the correct node/value from this node set.

Regards,

Joerg

aruniima.chakrabarti@iflexsolutions.com wrote:
Hi,

How can I achieve the following of choosing a set of nodes based to
conditions....
Something like this but which allows me to have a set of nodes & not a
single value??? Kindly help as I am really stuck on this.

<xsl:param name="Path" select="'p_ptr_str_ln_txn_inq_com'"/>
<xsl:variable name="xpath">
<xsl:choose>
<xsl:when test="string-length($Path) != 0">
<xsl:value-of select="//Header/*[name()=$Path]"/>
</xsl:when>				
<xsl:otherwise>
<xsl:value-of select="//Header"/>				
</xsl:otherwise>				
</xsl:choose>			
</xsl:variable>


Regards,
aruniima
--

System Development
VIRBUS AG
Fon  +49(0)341-979-7419
Fax  +49(0)341-979-7409
joerg.heinicke@virbus.de
www.virbus.de


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]