Hi, 

I am using BaseX 7.8 beta 3b557bd. When I pass a variable where the value is provided by a function ( let $string-variable := freeze-test:get-localized-string('en-us''application')) that extracts the data from the database, I cannot pass it as a parameter to an xslt. It nulls the value.

I attached a code sample and a simple database that holds a single file.

In the sample, if you replace the line : let $string-variable := freeze-test:get-localized-string('en-us''application') with let $string-variable := 'application', you'll notice that the value is output correctly. 

The issue is not with getting the value. When using the original variable setting (let $string-variable := freeze-test:get-localized-string('en-us''application')), the debug line (let $debug := file:write('debug-string-var.txt'$string-variable)) does output the extracted value in the .txt file correctly, which means the variable $string-variable has been set, it just doesn't survive being passed as a parameter to xslt:transform. 

Note that this used to work in BaseX 7.7.2. The fact that the variable gets nulled is a completely new phenomena.

To access the test function: http://localhost:8984/test/xsl-params

Thanks,

France
P.S. You can disregard the previous request with larger files (sent to the moderator by the mail server). It looks like old files were still indexed, weighting on the DB size.

--
France Baril
Architecte documentaire / Documentation architect
france.baril@architextus.com
(514) 572-0341