Feature #5530
closedFor Saxon-JS under Node, expose global as ixsl:window() or ixsl:global()
100%
Description
For Saxon-JS in the browser, the function https://www.saxonica.com/saxon-js/documentation2/index.html#!ixsl-extension/functions/window gives access to the window object which is the gobal object in the browser environment. The global
object under Node.js serves the same purpose but it isn't exposed in Saxon-JS under Node, it appears.
I think the use of JavaScript from Saxon-JS would benefit from having that global
object exposed as e.g. ixsl:window()
, or, if that breaks things, to create a new ixsl:global()
, which, in the browser, returns the window object and under Node.sj returns the global
object.
The reason: if you want, for instance, from XSLT/XPath call Javascript constructors like new URL(...)
, you can do so using e.g. Reflect.construct(URL, [...])
in JavaScript or ixsl:window() => ixsl:call('Reflect.construct', [ ixsl:window()?URL, [ ...] ])
in the browser but there is no way to do the same currently under Node.js as you would need to have ixsl:window()
return the global
object or you would need a new ixsl:global()
to use e.g. ixsl:global() => ixsl:call('Reflect.construct', [ ixsl:global()?URL, [ ...] ])
.
Related issues
Please register to edit this issue
Also available in: Atom PDF Tracking page