Re: [xsl] How to pass into an XSLT program an arbitrarily long sequence of parameter values, from the command line?

Subject: Re: [xsl] How to pass into an XSLT program an arbitrarily long sequence of parameter values, from the command line?
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 16 Jun 2020 18:57:06 -0000
On 16.06.2020 20:51, Roger L Costello costello@xxxxxxxxx wrote:
Hi Folks,

My XSLT program has this top-level parameter:

<xsl:param name="airport-identifiers" as="xs:string+" />

I invoke the XSLT program from the command line. I want to pass to the
parameter a sequence of values. I figured that this would do the job:

java -jar saxon9ee.jar test.xml -xsl:test.xsl -o:result.xml
airport-identifiers=KBOS,KJFK

But that didn't work. My XSLT program just thinks there is one airport
identifier, named "KBOS,KJFK"

Is it possible to pass into an XSLT program an arbitrarily long sequence of
parameter values? If so, how?

I would probably opt to pass in that single string and then use

tokenize($airport-identifier, ',')

to tokenize it.

http://saxonica.com/html/documentation9.9/using-xsl/commandline/
suggests you can use

?airport-identifiers=('KBOS', 'KJFK')

where the value is interpreted as an XPath expression but depending on
the command line shell it might be hard to get that really passed on to
Saxon without being interpreted by the command line shell.

Current Thread