首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Altova MapForce生成的XSLT文件时出现XslCompiledTransform异常

使用Altova MapForce生成的XSLT文件时出现XslCompiledTransform异常
EN

Stack Overflow用户
提问于 2012-07-23 17:26:44
回答 2查看 930关注 0票数 0

我正在使用.NET的XslCompiledTransform执行一个XSLT转换。当我尝试使用由Altova的MapForce工具自动生成的XSLT文件时,我得到了一个异常:

代码语言:javascript
复制
XSL conversion is failed: Cannot find the script or external object that implements prefix 'http://www.altova.com/xslt-extensions'.

在XSL样式表定义中:

代码语言:javascript
复制
<xsl:stylesheet ... xmlns:ns0="http://www.altova.com/xslt-extensions" ... >

...it似乎为XSLT定义了自己的扩展函数,而XslCompiledTransform不知道如何找到它们。如何让XslCompiledTransform识别这些外部函数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-23 17:35:41

通常,扩展是不可移植的,包括XslCompiledTransform在内的各种XSLT1.0处理器只支持一些EXSLT扩展,比如exsl:node-set。如果您使用XML进行开发,并希望使用.NET代码执行其样式表,那么可以考虑将AltovaXML与.NET一起使用,请参阅http://manual.altova.com/AltovaXML/altovaxmlcommunity/index.html?axnetinterface.htm,而不是使用XslCompiledTransform。

票数 1
EN

Stack Overflow用户

发布于 2012-07-23 19:23:47

我不知道Mapforce的任何细节,但我知道人们成功地使用Saxon运行了Mapforce生成的样式表。也许(我在猜测)如果您要求mapforce生成2.0样式表,那么它将不需要任何Altova扩展,然后您就可以使用2.0处理程序(如Saxon或XmlPrime )运行该样式表。

(顺便说一句,微软已经明确表示,他们不打算将XsltCompiledTransform升级到XSLT2.0,因此您使用的是一种没有前途的技术。Saxon、Altova和XmlPrime都在向前发展;Saxon和XmlPrime不仅支持XSLT2.0,而且还支持3.0的大量版本。你错过了很多生产力方面的好处。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11609742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档