Laurence Rowe
July 30, 2010 10:44AM
XSLT parameter parsing currently allows paramters to be passed one per
line or multiple per line separated by a colon (:).

location / {
xslt_stylesheet /site/xslt/one.xslt
param1='$value1': param2=value2

This has the unfortunate effect of preventing xpath parameters being
passed as url parameters when they contain a colon (fairly common in
xpath as a namespace or axis specififer). Consider the following

location / {
xslt_stylesheet filter.xsl

I would like to be able to call call the url
/doc.xml?xpath=ancestor-or-self::entry, but the current parameter
parsing code interprets this as multiple invalid parameters
``xpath=ancestor-or-self``, ````, ``entry``. As far as I can tell
there is no way to substitute ":" for "%3A" in a variable.

The attached patch removes support for specifying multiple parameters
in a single line. You may still supply multiple parameters to an xslt
by supplying one per line. (I've split the patch into two changesets
for readability.)

As an alternative it may be possible to preserve the current behaviour
by splitting parameters before the call to ngx_http_complex_value
which performs the variable substitution, however I was unable to work
out how to do this myself.

nginx-devel mailing list
Subject Author Views Posted

XSLT Parameter parsing Attachments

Laurence Rowe 3600 July 30, 2010 10:44AM

Re: XSLT Parameter parsing

Maxim Dounin 1338 September 21, 2010 11:26PM

Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 92
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready