[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] filter using contains with multiple values

Subject: Re: [xsl] filter using contains with multiple values
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 4 Mar 2016 17:33:32 -0000

Raimund Kammering raimund.kammering@xxxxxxx wrote:

So one could think of passing them using:

transformer.setParameter("filter_values", bLog, Infob);

(which does not work either) but here I guess the whole second argument is interpreted as one single string (object) and I knew in advance that this is not meant to be working!

If JAXP does not allow you to pass in a sequence of strings then the easiest way around that might be to pass in the string you have above and use a second variable

<xsl:variable name="filter-seq" select="tokenize($filter_values, ',\s*')"/>

then within your comparison you can use that $filter-seq.

As far as I understand http://saxonica.com/documentation9.5/extensibility/function-result.html and http://saxonica.com/documentation9.5/using-xsl/embedding/jaxp-transformation.html you could also try to pass a Java String[] as the parameter value, it should then be treated as a sequence of strings in XSLT/XPath. That is the 9.5 documentation however, I don't know whether 9.1 is different.

Current Thread