Open
Description
Instead of using use-when
to differentiate between server- and client-side execution on function calls like this:
<xsl:value-of use-when="system-property('xsl:product-name') eq 'Saxon-JS'" select="resolve-uri(concat('/', ixsl:call(ixsl:window(), 'generateUUID', [])), $ac:uri)"/>
<xsl:value-of use-when="system-property('xsl:product-name') = 'SAXON'" select="resolve-uri(concat('/', ac:uuid()), $ac:uri)"/>
we could abstract the differences away by hiding the differences within functions.
This should also help address issues of SEF compilation on Saxon-EE: https://saxonica.plan.io/issues/4961