[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Linking Variable to the Path

Subject: RE: Linking Variable to the Path
From: "Yaswanth Kumar Ravella" <yaswanth.mtrx@xxxxxxxxx>
Date: Wed, 22 Aug 2007 16:57:50 +0530
RE:  Linking Variable to the Path
Hi Matthieu,
	As you suggested I worked for a while to implement dyn:evaluate
function in my work but I am unable to get it done. 

I am getting Error :
Description :
Error during XSLT transformation: An unknown XPath extension function was
called.

I am using Mozilla's Processor !

http://www.xmleverywhere.com/tips/xslt.htm 

How can I get it work ? Any sample Implementation ?

Regards
Yaswanth Kumar Ravella




-----Original Message-----
From: Matthieu Ricaud [mailto:matthieu.ricaud@xxxxxxxxx] 
Sent: Wednesday, August 22, 2007 2:41 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re:  Linking Variable to the Path

Hi Yaswanth, 

> Hi Peter and Everyone out there!
>   Thanks for the reply ~
> 
> I have '//every[1]/event[1]' as the destination attributes value.
> And there is 'name' attribute  for '//every[1]/event[1]'
> i.e //every[1]/event[1]/@name gives me the Value 'Ready'.
> 
> Why not $dest/@name gives me the same ?
> How to get it  ?

In your fisrt xsl <xsl:variable name="dest"
select="//every[1]/event[1]"/>  will get a *node* /root/every[1]/event[1], 
which do has a @name attribute. Then $dest/@name will get this attribute
value.

But in your second xsl  <xsl:variable name="dest"
select="//pattern[1]/connection[1]/@destination"/>   will get the *string*
"//every[1]/event[1]"
which is the value of @destination. $dest is not a node, it's a string and
you can't do $dest/@name, it doesn't make sens.

As said Christoph you need to evaluate the string, and there is
unfortunately no xslt 1.0 native way to do this !
You need a extension eval function depending on your xslt processor. 
If you use saxon for example, something like this should go <xsl:value-of
select="saxon:eval($dest)/@name"/>.
With msxml you can do your own eval function in jscript, have a look at
http://www.xmleverywhere.com/tips/xslt.htm
You can also use EXSLT extensions I think.

Hope this help, 

Cheers, 

Matthieu.
 
> Regards
> Yaswanth 
> 
> 
> -----Original Message-----
> From: Hofman, Peter [mailto:peter.hofman@xxxxxxxxxxxxx] 
> Sent: Wednesday, August 22, 2007 1:54 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE:  Linking Variable to the Path 
> 
> Your variable $dest contains a sequence of destination attributes
> values, which (of course) do not contain a name attribute.
> 
> You need to analyze the contents of connection/@destination and use this
> in a selection of event elements.
> 
> Regards,
> Peter
> 
> >-----Original Message-----
> >From: Yaswanth Kumar Ravella [mailto:yaswanth.mtrx@xxxxxxxxx] 
> >Sent: woensdag 22 augustus 2007 10:16
> >To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> >Subject:  Linking Variable to the Path 
> >
> >
> >Hi,
> >
> >::I am having an XML file like this ::
> >
> ><root>
> > <every>
> >   <event name="Ready"/>
> > </every>
> > <pattern>
> >   <connection destination="//every[1]/event[1]" />		
> > </pattern>
> ></root>
> >-------------------------------
> >::When my XSL file has this code::
> >
> ><xsl:template match="root">   
> >   <xsl:variable name="dest" 	select="//every[1]/event[1]"/>   
> >   <xsl:value-of select="$dest/@name"/>   
> ></xsl:template>
> >
> >It prints 'Ready'.
> >Here I am directly assigning variable 'dest' to the path of the event.
> >This is ok.
> >-------------------------------
> >::When I changed my XSL code to ::
> >
> ><xsl:template match="root">   
> >   <xsl:variable name="dest"
> >select="//pattern[1]/connection[1]/@destination"/>   
> >   <xsl:value-of select="$dest/@name"/>   
> ></xsl:template>
> >
> >It doesn't print 'Ready' or anything.
> >Here I am storing variable 'dest' with the value of the 
> >'connection/@destination', Which I expected to work properly 
> >but it is not working.

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.