Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - [xsl] passing several external arguments to the spreadsheet >Thread Next - Re: [xsl] passing several external arguments to the spreadsheet Re: [xsl] passing several external arguments to the spreadsheetTo: xsl-list@-----.------------.--- Date: 9/2/2009 2:22:00 PM 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>
--
Martin Honnen
http://msmvps.com/blogs/martin_honnen/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe@l...>
--~--
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
