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

Subject: Re: [xsl] populate nodelist variable with a variable in select statement
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 2 Dec 2008 00:17:30 GMT
> 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>


assuming you are using xlt1, that defined $EARCH_STRING to be a result
tree fragment corresponding to a root node and a text node child with
the text 
"and ( (related/@code = '111') or
(related/@code = '222') or (related/@code = '333') )"

result-tree fragments, if used in a boolean context as you have used
them always evaluate to true as they correxpond to a node set which
contains a single node (/) so are not empty.

variables in xpath (as in most other programming languages) store
values, not expression fragments.

If you are using using xslt2, you could use

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



<xsl:variable name="sequence" select="(111,222,333)"/>

In xslt1 you could do something similar but probably most conviently if
you have access to the node-set extension.

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Current Thread