Subject: Re: [xsl] passing several external arguments to the spreadsheet From: Manuel Souto Pico <manuel.souto@xxxxxxxxxxxxxx> Date: Fri, 04 Sep 2009 18:26:04 +0200 |
Cheers! Manuel
Manuel Souto Pico wrote:
Is it possible to run something like that using the param option (or, even better, to do it in the editor)? (in capitals for clarity)
$ java -jar path/to/saxon9.jar LANG=en,fr,pt input.xml spreadsheet.xsl > output.xml
I guess it must be something like that, but then, how do I get those 3 or n parameters into the spreadsheet? If it was only one parameter i would get it with
<xsl:param name="lang"/>
but as there are more than one, I guess I should put them in a kind of array and then do a for-each?
I think you should be able to pass in a string value as the parameter and then use the tokenize function to split it up into a sequence of lang values e.g.
<xsl:param name="lang"/>
<xsl:variable name="languages" select="tokenize($lang, ',')"/>
<xsl:template match="xliff"> <xsl:copy> <xsl:variable name="file" select="file"/> <xsl:for-each select="$languages"> <xsl:apply-templates select="$file"> <xsl:with-param name="lang" select="."/> </xsl:apply-templates> </xsl:for-each> </xsl:copy> </xsl:template>
<xsl:template match="file"> <xsl:param name="lang"/> <xsl:copy> <xsl:attribute name="lang" select="$lang"/> <xsl:copy-of select="node()"/> </xsl:copy> </xsl:template>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] passing several external , Wendell Piez | Thread | Re: [xsl] passing several external , Wendell Piez |
Re: [xsl] How did you learn XSL?, Wendell Piez | Date | Re: [xsl] How did you learn XSL?, Mukul Gandhi |
Month |