Page 1 of 1

limitations of saxonn-ee licence coming with oxygen

Posted: Sat Sep 10, 2016 2:00 pm
by Dill
I'm evaluating oxygen developer.

If I understand correctly it comes with a full saxon EE (usable only inside oygen).
But I can't use all the EE features.
eg XQuery 3.1 (Schema Aware) and Saxon extension functions (Basic+Adavanced) are not avaiable, while the EE features XQuery Update 1.0 and higher order functions are working.
How can I use all the features?

One other thing:
while XQuery Update scripts run, they do not pass validation (marked red in the editor) and the formatter daoes not handle it correctly.

Re: limitations of saxonn-ee licence coming with oxygen

Posted: Mon Sep 12, 2016 12:14 pm
by adrian
Hi,

Saxon extension functions already work with Saxon PE (only Basic) and Saxon EE (Basic+Advanced). What did you try and isn't working?

Note that XQuery 3.1 is supported by Saxon since 9.7.
Current versions of Oxygen (v18.x) bundle Saxon-EE 9.6. This means the Oxygen GUI only supports 9.6 features, even though you can now also use the Saxon-EE 9.7 Oxygen addon (for transformation and validation, not for debugging).

For features that Oxygen does not provide an explicit Saxon option, you can try to find an equivalent flag in the Saxon configuration file and configure a transformation from Oxygen to use that Saxon configuration file.
while XQuery Update scripts run, they do not pass validation (marked red in the editor) and the formatter daoes not handle it correctly.
How are you running them? While editing the XQuery Update script you should configure and associate a transformation scenario (Document > Transformation > Configure Transformation Scenario(s)) then Oxygen will also use that same scenario to validate the script with the appropriate Saxon edition and configuration. Alternatively you can enable XQuery Update globally, Options > Preferences, XML / XSLT-FO-XQuery / XQuery / Saxon-HE/PE/EE, Enable XQuery Update and set the default Saxon validation engine to Saxon-EE in Options > Preferences, XML / XSLT-FO-XQuery / XQuery.

Regards,
Adrian

Re: limitations of saxonn-ee licence coming with oxygen

Posted: Mon Sep 12, 2016 1:32 pm
by Dill
adrian wrote:Saxon extension functions already work ...
right, I just tried the wrong function:

Code: Select all


declare namespace file = "http://expath.org/ns/file";
file:base-dir()
results in the error: "Cannot find a matching 0-argument function named {http://expath.org/ns/file}base-dir()"
while it works in Saxon-EE 9.6.0.9(!) on the command line. Seems like this was fixed between 9.6.0.7 and 9.6.0.9

About schema validation: this also seems to work, I was mislead by the validator which says
"This Saxon version and license does not allow use of 'import schema'"
Image
"LicenseException..."
Image

While editing the XQuery Update script you should... enable XQuery Update globally
I did that. And this code runs correctly:

Code: Select all


declare variable $foo_ := <foo><bar/></foo>;

copy $foo := $foo_
modify (
delete node $foo//bar
)
return
$foo
But the validator is not happy (and also I think this should be formatted differently.)
Image

Thank you very much for your help!

Re: limitations of saxonn-ee licence coming with oxygen

Posted: Mon Sep 12, 2016 3:52 pm
by adrian
Hi,

The validator is "not happy" because it's still Saxon-PE, which does not support the features that you are using.
From the screenshots I see you're in the XQuery debugger perspective. Note that the XQuery editors, even in the debugger, do not use the debugger engine (the one selected in the combo box from the debugger toolbar), they still depend on the associated scenario (if one was created and associated) or, otherwise, the default/global validation engine, the one I mentioned can be set in Options > Preferences, XML / XSLT-FO-XQuery / XQuery, Validation engine. Set that to Saxon-EE.

I would recommend going the scenario way, as Oxygen is scenario driven, but I guess you can also set it globally if you like.
while it works in Saxon-EE 9.6.0.9(!) on the command line. Seems like this was fixed between 9.6.0.7 and 9.6.0.9
Most likely. I see that function also works with the Saxon 9.7 (External) Oxygen add-on.
You can install the add-on from: Help > Install new add-ons, pick from the combo at the top: https://www.oxygenxml.com/InstData/Addo ... teSite.xml and install the addon "Saxon 9.7 XSLT & XQuery processor" (application restart is required).
You can use this engine, named Saxon-EE 9.7 (External), only in transformation scenarios, but not in the debugger (it does not appear in the debugger toolbar).

Regards,
Adrian

Re: limitations of saxonn-ee licence coming with oxygen

Posted: Mon Sep 12, 2016 4:02 pm
by Dill
thanks its working now.