xsl-list
[Top] [All Lists]

RE: [xsl] populate nodelist variable with a variable in select statement

2008-12-01 18:51:20

Variables hold values, not fragments of path expressions. There's no
facility in standard XSLT to construct an XPath expression from a string at
run-time, which is what you are trying to do. However, many processors have
an extension to do this, generally called xx:evaluate() or similar.

Michael Kay
http://www.saxonica.com/

-----Original Message-----
From: Lara Brian [mailto:lara_bc(_at_)yahoo(_dot_)com] 
Sent: 01 December 2008 23:45
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] populate nodelist variable with a variable in 
select statement

Hi,
I am trying to populate a variable with a nodelist that takes 
a variable in its select statement.

For example,
<xsl:variable name="myNodeSet" 
select="site/assets/asset[(type/@code = 'aaa') and 
starts-with(@vpath,'my/path/')  and (lang='us_en') and 
$SEARCH_STRING]"/>

and SEARCH_STRING is defined as
<xsl:param
name="SEARCH_STRING"> and ( (related/@code = '111') or 
(related/@code = '222') or (related/@code = '333') )</xsl:param>

My xml is of the form,
<site>
<assets>
<asset vpath="my/path/and/more">
<lang>eng</lang>
<featured-item>No</featured-item>
<type code="aaa"/>
<related code="111"/>
<related code="777"/>
</asset>
<asset>
  ...
</asset>
</assets>
<site>

Is
this even possible? I can do this using <xsl choose> and 
checking each condition and setting the variable accordingly, 
but in future if i have more conditions for the variable, i 
need to add more conditions in all my xsls. It would be nice 
if i can set this variable in one place and then use it use 
it as a replace string.

Thanks for any help or pointers in this regard.




      

--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>