IMPORTANT:
this is not a Support Forum! Experienced users might answer from time to time questions posted here. If you need a professional and reliable answer, or if you want to report a bug, please contact Altova Support instead.

XML Spy 2013 not finding functions in namespace Options · View
gbsanco
Posted: Thursday, September 18, 2014 8:40:51 AM
Rank: Newbie

Joined: 9/18/2014
Posts: 3
<xsl:stylesheet version="2.0" xmlns:fun="urn:com:...:xslt:common" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
...
<xsl:function name="fun:url-from-path">
...

Quote:
XSL transformation failed due to following error:

Namespace 'urn:com:...:xslt:common' does not contain any functions.


This is an obvious bug.
Does someone have a workaround that does not imply an upgrade
(or installing a different IDE)

Thanks
vlad
Posted: Thursday, September 18, 2014 10:50:25 AM
Rank: Advanced Member

Joined: 12/13/2005
Posts: 2,856
Location: Mauritius
This would be a bug, but this message doesn't come from XMLSpy. Looks like you have configured MSXSL for XSLT transformations, which doesn't support XSLT2.0

Just switch back to XMLSpy built-in.
gbsanco
Posted: Thursday, September 18, 2014 11:51:23 AM
Rank: Newbie

Joined: 9/18/2014
Posts: 3
Thanks vlad,

In the mean time I received a similar suggestion from tech support
Here is what I replied, how I missed that and the suggestion I made

Quote:
That did the job
I had looked at the settings before and the message says something like "Important: the built-in XSLT processor is always used for XSLT debugging"
Which is kind of confusing.
Anyway, it works now.

As a hint, XML Spy could raise a warning if the XPath function system-property('xsl:version') returns a version that is smaller than the actual stylesheet version
That would trigger the use of a non intended processor
vlad
Posted: Thursday, September 18, 2014 12:48:18 PM
Rank: Advanced Member

Joined: 12/13/2005
Posts: 2,856
Location: Mauritius
I'm not an expert, but MSXSL is a veeerrryy old engine. I'm not sure whether it has implemented system-property at all.

Of course, one can try to imagine all possible things which users might do wrong, and try to prevent them all, but there is some reasonable limit to all that. Given that XMLSpy comes with one of the best XSLT engines built-in and that users can only intentionally forgo using it, I think Altova did enough. And for those who got lost in XSLT tree there is a Support and this Forum, both helping you. These are just my 2 cents...
gbsanco
Posted: Thursday, September 18, 2014 1:01:09 PM
Rank: Newbie

Joined: 9/18/2014
Posts: 3
- msxml has implemented system-property. As msxml is a decent XSLT1 engine it correctly returns a "1"
And debugging against msxml does make a lot of sense for MS XSLT development

- given the many changes between XSLT1 and XSLT2... other industry level XML IDE do raise a warning if the processor used does not match the language version used. It seemed to me an obvious thing to do and not just to me aparently (even in IDE for other programming languages actually) Specially since the actual processor used is as obscure as with XML Spy's 'Options'

- "Given that XMLSpy comes with one of the best XSLT engines "
Two comments:
+ when developing XSLT1 (XSLT is my day to day job, so I need to do all sort of flavours) it makes sense plugging other transformers
+ religious statements trigger religious responses: as regards conformance and performance I strongly disagree with the statement "one of the best" :-)
vlad
Posted: Friday, September 19, 2014 9:15:47 AM
Rank: Advanced Member

Joined: 12/13/2005
Posts: 2,856
Location: Mauritius
>as regards conformance and performance I strongly disagree with the statement "one of the best" :-)

I just realized that you are still using v2013 which is based on the old XSLT engine, where I can only agree. I was talking about the new RaptorXML, which became part of XMLSpy starting with v2014. And I have to reiterate - it is one of the best, in many cases it is actually THE best available on the market.
Users browsing this topic
guest

Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Use of the Altova User Forum(s) is governed by the Altova Terms of Use.