|
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
|
|
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.
|
|
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
|
|
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...
|
|
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" :-)
|
|
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.
|
|
guest |