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