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
basex-talk@mailman.uni-konstanz.de