c#

位置:IT落伍者 >> c# >> 浏览文章

用C#或JavaScript扩展XSLT


发布日期:2022年08月03日
 
用C#或JavaScript扩展XSLT

今天在umbraca上看到这样一篇文章可以利用C#和JavaScript扩展XSLT说实在的以前不知道啊前几天看到有位博主实现了一个split方法利用原有的xslt函数现在看来可以直接编程实现一个split函数了哦

下面看下怎么用C#和JavaScript扩展XSLT

使用C#

先上代码

<?xml version= encoding=UTF?>

<!DOCTYPE xsl:Stylesheet [ <!ENTITY nbsp &#xA;> ]>

<xsl:stylesheet

version=

xmlns:xsl=%

xmlns:msxml=urn:schemasmicrosoftcom:xslt

xmlns:msxsl=urn:schemasmicrosoftcom:xslt

xmlns:umbracolibrary=urn:umbracolibrary

xmlns:mycustomprefix=urn:mycustomprefix

excluderesultprefixes=msxml umbracolibrary mycustomprefix msxsl>

<xsl:output method=xml omitxmldeclaration=yes/>

<msxsl:script language=CSharp implementsprefix=mycustomprefix>

<![CDATA[

public int? testNumber(int? num)

{

if(num> || num<= || num== null)

{

return ;

}

else

{

return num;

}

}

]]>

</msxsl:script>

<xsl:param name=currentPage/>

<xsl:variable name=numberToTest select=mycustomprefix:testNumber(number(/macro/numberToTest))/>

<xsl:template match=/>

<! start writing XSLT >

<xsl:valueof select=$numberToTest/>

</xsl:template>

</xsl:stylesheet>

上面代码实现了一个testNumber函数当输入数值大于时返回小于时返回数值例子很简单看一眼就明了不过去对喜欢xslt的同仁带来很大的发挥空间哦

用JavaScript

<?xml version= encoding=UTF?>

<!DOCTYPE xsl:Stylesheet [ <!ENTITY nbsp &#xA;> ]>

<xsl:stylesheet

version=

xmlns:xsl=%

xmlns:msxml=urn:schemasmicrosoftcom:xslt

xmlns:msxsl=urn:schemasmicrosoftcom:xslt

xmlns:umbracolibrary=urn:umbracolibrary

xmlns:mycustomprefix=urn:mycustomprefix

excluderesultprefixes=msxml umbracolibrary mycustomprefix msxsl>

<xsl:output method=xml omitxmldeclaration=yes/>

<msxsl:script language=JavaScript implementsprefix=mycustomprefix>

<![CDATA[

function testNumber(num)

{

if(num> || num<= || num== null)

{

return ;

}

else

{

return num;

}

}

]]>

</msxsl:script>

<xsl:param name=currentPage/>

<xsl:variable name=numberToTest select=mycustomprefix:testNumber(number(/macro/numberToTest))/>

<xsl:template match=/>

<! start writing XSLT >

<xsl:valueof select=$numberToTest/>

</xsl:template>

</xsl:stylesheet>

和使用C#一样不多说了

现在就可以实现那个split函数了是吧?不用那个substringbefore和substringafter了哦

那篇文章的链接

               

上一篇:.Net WebBrowser 控件获取POST数据

下一篇:C#编程入门三部曲:第一步创建一个表单