Subject: Re: [xsl] Saxon command-line: How to assign a sequence of multiple strings to a global param From: "Mukul Gandhi gandhi.mukul@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 6 Nov 2018 10:33:29 -0000 |
On Mon, Nov 5, 2018 at 11:07 PM Jorge . chocolate.camera@xxxxxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Running Saxon from the command line (testing with Saxon-HE 9.2.1.2Jbyes, > old as heckbon Bash 3.2.57(1)), is there a way to set the value of a global > parameter of an XSLT2 stylesheet to a sequence of strings? > > <xsl:param name="MY_ARRAY" as="xs:string*"/> > > When attempting to do it like this: > > java -jar saxon9he.jar [options] 'MY_ARRAY="one" "two" "three"' > java -jar saxon9he.jar [options] MY_ARRAY='"one" "two" "three"' > > Saxon seemingly interprets spaces as literal, and the value of the > parameter becomes one single string > > <xsl:message select="count($MY_ARRAY)"/> > b 1 > > instead of interpreting them as separators so that the value of the > parameter contains those three. > This could be done as follows, I think. Pass a parameter to stylesheet as follows, MY_ARRAY="one;two;three" (there's only one string parameter. but we use a delimiter between words. in this example ; is a delimiter) In the stylesheet, we declare as follows <xsl:param name="MY_ARRAY" as="xs:string"/> Then we need to use fn:tokenize on MY_ARRAY. You may choose a convenient delimiter for your environment. -- Regards, Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Saxon command-line: How t, Michael Kay mike@xxx | Thread | Re: [xsl] Saxon command-line: How t, Michael Kay mike@xxx |
Re: [xsl] Saxon command-line: How t, Michael Kay mike@xxx | Date | Re: [xsl] Saxon command-line: How t, Michael Kay mike@xxx |
Month |