Project

Profile

Help

Can Saxon 9.8 HE expose imported functions as public using xsl:expose?

Added by Martin Honnen over 6 years ago

When I try the following mix of XSLT and XQuery

let $xsl := 
    
      
      
    
return
    transform(
      map { 
        'stylesheet-node' : $xsl, 
        'initial-function' : QName('http://www.functx.com', 'words-to-camel-case'),
        'delivery-format' : 'raw',
        'function-params' : ['This is a text with some words']
      })?output

with Saxon-EE 9.8.0.7J I get the wanted output @ThisIsATextWithSomeWords@.

However, when trying the same code with Saxon-HE 9.8.0.7J I get an error

Error XTDE0041: Cannot invoke function words-to-camel-case#1 externally, because it is not public

The documentation https://www.saxonica.com/html/documentation/xsl-elements/expose.html says:

xsl:expose Used to modify the visibility of selected components within a package.

Available in XSLT 3.0. From Saxon 9.8, available in all editions.

so based on that HE should expose the function.

So who is wrong, the documentation or the implementation?


    (1-1/1)

    Please register to reply