Посмотрите на этот код:
<ul>
<xsl:for-each select="$currentPage/node">
<li><a>
<xsl:attribute name="href">
<xsl:value-of select="umbraco.library:NiceUrl(current()/@id)"/>
</xsl:attribute>
<xsl:value-of select="current()/@nodeName"/>
</a>
</li>
</xsl:for-each>
</ul>
Как видите, в xslt есть команды umbraco. Как именно это сделано? Как я могу поместить свои собственные команды C # в мой xslt?