Mukul,
 
Thanks a lot !
 
But it did not work.
 
<xsl:element name="{$v1}">
     <xsl:copy-of select="*/Request/RequestHeader"/>
</xsl:element>

----> it says that it requires QNAME. I tried to use "($v1)" , It was simply 
ignoring.
 
2)
 
xsl:copy-of select="*[local-name() = $v1]/Request/RequestHeader"/>

This was also ignoring siliently.  
 
I found something nodeset on Apache website which converts string to nodeset 
but due 
some reason that also does not work.
 
  xmlns:xalan="http://xml.apache.org/xalan";
                   exclude-result-prefixes="xalan">

<xsl:copy-of select="xalan:nodeset($v1)/Request/RequestHeader"/>
 
I do not know why this does not. It is also simply ignoring. I am using 
xalan-2.7.1
 
Regards
Ajay

--- On Sun, 11/20/11, Mukul Gandhi <gandhi.mu...@gmail.com> wrote:


From: Mukul Gandhi <gandhi.mu...@gmail.com>
Subject: Re: How to convert string to Node in xslt
To: "ajay bhadauria" <abhadau...@yahoo.com>
Cc: xalan-j-users@xml.apache.org
Date: Sunday, November 20, 2011, 10:33 AM


Hi Ajay,
    Let's assume your variable "v1" would finally have a value in it (based on 
some selection logic that you want to write, which essentially extracts data 
from your input XML document), as below,

<xsl:variable name="v1" select="'SendRequest'"/>   <!-- or can have value 
'ExchangeRequest' -->

(I've directly written the value for this variable, but in your case the value 
would be computed as you wrote)

You now essentially want to copy a node to output XSLT tree as below,

<xsl:copy-of select="$v1/Request/RequestHeader"/>

Of course this would not work, since 'v1' here is not a node and is a string 
value.

But I think, the following would probably work,

<xsl:copy-of select="*[local-name() = $v1]/Request/RequestHeader"/>

Or perhaps something like below would also work (which is closer to what you're 
asking i.e text to a node),

<xsl:element name="{$v1}">
     <xsl:copy-of select="*/Request/RequestHeader"/>
</xsl:element>

Does any of above approaches suites you better?


On Sat, Nov 19, 2011 at 10:12 PM, ajay bhadauria <abhadau...@yahoo.com> wrote:





Hi Mukul,

Thanks a lot for reply.

The solution you gave will work. But in my xml file, the root element of 
document could  SendRequest or ExchangeRequest. So I was thinking that I could 
define a variable and based upon the value of  this variable ( SendRequest or 
ExchangeRequest) I can copy all the elements.

Sorry about that I have not mentioned in my last query.

So , if there anything is anything in the XSL which I can use it and convert 
text to node.


Regards
Ajay 






-- 
Regards,
Mukul Gandhi

Reply via email to