在XSLT中将参数传递给C#函数

在XSLT中将参数传递给C#函数,c#,xslt,C#,Xslt,我有这样的XML和XSLT: XML <process id="1"> <task id="task1"> </task> <task id="task2"> </task> ... </process> 但是这个代码是不正确的。我读了很多文章,但我没有找到这个问题的语法 如果有人能解释这个问题的解决方案,那将非常有帮助。如果您当前的上下文是,您应该试试 <xsl:value-of selec

我有这样的XML和XSLT:

XML

<process id="1"> 
  <task id="task1">
  </task>
  <task id="task2">
  </task> 
  ...
</process>
但是这个代码是不正确的。我读了很多文章,但我没有找到这个问题的语法


如果有人能解释这个问题的解决方案,那将非常有帮助。

如果您当前的上下文是
,您应该试试

<xsl:value-of select="../@id" />

作为XSLT表达式。

我认为您的意思是:

<xsl:if test="@id = user:GetStartTask(../@id)">

这是假设您处于
任务的上下文中,并且希望将当前任务的
id
的值与
GetStartTask()
函数返回的值进行比较,并将父进程
id
作为参数

<xsl:value-of select="../@id" />
<xsl:if test="@id = user:GetStartTask(../@id)">