如何在xsl中调用c#函数
我试图在xsl中调用一个c#函数。我必须将一些值映射到xml中。有3个主成分 -xsl如何在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>
-我从哪里得到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>