Subject:XSL switching stylesheet from v1.0 to v2.0 Author:roberto azzimonti Date:11 Oct 2007 12:46 PM Originally Posted: 11 Oct 2007 12:45 PM
I'm using Stylus 2007 enterprise suite release 2 build 894m on Windows XP professional.
The XSL I'm testing was working fine.
When I changed the stylesheet version from 1.0 to 2.0 I started to get some errors. Switching back from v2.0 to v1.0 the error were still there. I wasted a lot of time trying to figuring out what was going on. Finally I realized the information that Stylus attached to the bottom of the XSL did not change or reset when I switched back from v2.0 to v1.0
I manually deleted those information and reset my project, finally I got my XSL to work again.
Please advise or fix this bug asap as it's very annoying and missleading for debugind XSL.
Thanks.
When switched to v2.0 setting stored on the bottom of the XSL were set to use different processors, swicthing back to v1.0 those settings did not change. From that point on we were getting invalid parameter for node-set at this line:
Subject:XSL switching stylesheet from v1.0 to v2.0 Author:Ivan Pedruzzi Date:11 Oct 2007 02:33 PM
Actually my name is Ivan without the final o.
Here is what happened:
Your XSLT is using {urn:schemas-microsoft-com:xslt}node-set, a Microsoft proprietary extension function.
When you switched to XSLT 2.0 Stylus Studio prompted you to switch to Saxon, the only processor that supports XSLT 2.0.
Saxon raised an error because didn't recognized the node-set function so you switched back to XSLT 1.0 but you were still running with Saxon therefore you got the same error again.
The solution is pretty simple and doesn't require to touch the the meta info. Click on the toolbar button "..." and set the processor back to one of the Microsoft one.
Subject:XSL switching stylesheet from v1.0 to v2.0 Author:roberto azzimonti Date:11 Oct 2007 02:45 PM
I did that,
didn't work,
I compared my settings with a Stylus a colleque of mine was using and realized that the processor was different, so I tried Built-in (my usual default) and the Microsoft ones. None of them worked until I manually deleted the note on the bottom of the XSL which was still reporting Saxon, then reloading the XSL started to work.
Subject:XSL switching stylesheet from v1.0 to v2.0 Author:roberto azzimonti Date:11 Oct 2007 02:53 PM
to be picky,
you should save the settings for v1.0 so when switching back Stylus would actually restore your original setting for v1.0 otherwise we don't know exactly what changed in the settings therefore we can not manually reset them.
Subject:XSL switching stylesheet from v1.0 to v2.0 Author:Ivan Pedruzzi Date:11 Oct 2007 03:20 PM
When trying to run XSLT 2.0 with a 1.0 processor you get the following message, therefore Stylus Studio makes you aware on what is changing.
---------------------------
Stylus Studio 2007 XML Enterprise Suite
---------------------------
The selected XSLT processor is not compatible with XSLT 2.0.
Do you want to use the Saxon processor instead?
---------------------------
Yes No Cancel
---------------------------
One thing we could do is to force you change the processor manually bu it sounds more unfriendly.
In addition switching XSLT version is not like changing an external parameter value, you are changing the transformation language, it makes no sense for us to preserve the settings for different version of the XSLT source.
Subject:XSL switching stylesheet from v1.0 to v2.0 Author:roberto azzimonti Date:11 Oct 2007 04:27 PM
agree with your above statement (I forgot about the warning message).
However, even if I set a different processor I still get the error, here are the steps to reproduce the problem:
1.) Changed to v2,.0
2.) Got warning about using saxon, I chose yes
3.) Got error about node-set during debugging
4.) Changed back to v1.0
5.) Options still says Built-in processor
6.) Tried to set any other processors in the option panel still getting node-set error
7.) Manually removed matainfo section, now it works.
Here how the metainfo looks like (processortype still set to "saxon8"):
Subject:XSL switching stylesheet from v1.0 to v2.0 Author:Ivan Pedruzzi Date:11 Oct 2007 04:37 PM
Roberto, you didn't change the processor for your XSLT document but the global settings for the default processor (Tools -> Options -> XSLT Editor -> Processor Settings)
What I described before is to click on the document toolbar button labeled "..." then click on the processor tab.