如何在xsl中调用c#函数

如何在xsl中调用c#函数,c#,xml,xslt,C#,Xml,Xslt,我试图在xsl中调用一个c#函数。我必须将一些值映射到xml中。有3个主成分 -xsl -我从哪里得到c#汇编的xml -要转换的xml <?xml version="1.0" encoding="UTF-8" ?> <InvokeDataLoader xmlns="http://iti/serv/dataloader"> <scriptToExecute/> <inputFile/> </InvokeDataLoader>

我试图在xsl中调用一个c#函数。我必须将一些值映射到xml中。有3个主成分

-xsl


-我从哪里得到c#汇编的xml


-要转换的xml

<?xml version="1.0" encoding="UTF-8" ?>

<InvokeDataLoader xmlns="http://iti/serv/dataloader">
<scriptToExecute/>
<inputFile/>
</InvokeDataLoader>


但当我尝试转换时,会出现以下错误:“名称空间不包含任何函数”

我注意到您有
xmlns:HelpersNS0=”http://ri/clus/mapperhelpers/v1.0/I/F/C/CustomComponents   ts“>
在XSLT的
名称空间=”http://ri/clus/mapperhelpers/v1.0/I/F/C/CustomComponents“
(不带
ts
)在另一个文件中。因此名称空间不匹配。

您使用哪个XSLT处理器?下面列出了Microsoft的
XslCompiledTransform
的扩展机制:。您可以将“脚本”块与C#或VB代码内联使用,也可以在需要使用传入扩展对象的位置使用扩展对象。您发布的代码段不使用这两种机制中的任何一种。那么您使用哪种XSLT处理器呢?实际上我正在使用Xtrans工具来测试它,但我将使用visual studio和Biztalk maps使它工作,即使在编辑之后您有不同的URL,至少在您发布的示例中,
”http://ri/clus/mapperhelpers/v1.0/I/F/C/CustomComponents “
"http://ri/clus/mapperhelpers/v1.0/I/F/C/CustomComponents“
其中前者末尾有一个空格。这足以使URL有所不同。除此之外,我没有看到明显的问题,但我既不熟悉Xtrans,也不熟悉Biztalk。您可能想编辑问题的标签,以便在这些领域具有专业知识的人可以查看示例。我解决了这个问题。我将映射和扩展对象直接创建到Biztalk中,以便将xslt与扩展对象关联并加载dll。我试图找到另一种方法来实现这一点,但没有找到Biztalk。谢谢你的帮助
<?xml version="1.0" encoding="UTF-8" ?>

<ExtensionObjects>
<ExtensionObject
  Namespace="http://ri/clus/mapperhelpers/v1.0/I/F/C/CustomComponents"
  AssemblyName="G.T.I_Fatt.CustomComponents, Version=1.0.0.0,Culture=neutral, PublicKeyToken=6ecedb456a4a8c16"
  ClassName="G.T.I_Fatt.CustomComponents.MapperHelpers"  />
</ExtensionObjects>
<?xml version="1.0" encoding="UTF-8" ?>

<InvokeDataLoader xmlns="http://iti/serv/dataloader">
<scriptToExecute/>
<inputFile/>
</InvokeDataLoader>