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 -- France Baril Architecte documentaire / Documentation architect france.baril@architextus.com (514) 572-0341