知识大全 用C#或JavaScript扩展XSLT
Posted 函数
篇首语:人争气,火争焰,佛争一炷香。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用C#或JavaScript扩展XSLT相关的知识,希望对你有一定的参考价值。
用C#或JavaScript扩展XSLT 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
今天在umbraca上看到这样一篇文章 可以利用C#和JavaScript扩展XSLT 说实在的 以前不知道啊 前几天看到有位博主实现了一个split方法 利用原有的xslt函数 现在看来可以直接编程实现一个split函数了哦
下面看下怎么用C#和JavaScript扩展XSLT
一 使用C#
先上代码
<?xml version= encoding= UTF ?>
<!DOCTYPE xsl:Stylesheet [ <!ENTITY nbsp &#x A ; > ]>
<xsl:stylesheet
version=
xmlns:xsl= %
xmlns:msxml= urn:schemas microsoft :xslt
xmlns:msxsl= urn:schemas microsoft :xslt
xmlns:umbraco library= urn:umbraco library
xmlns:mycustomprefix= urn:mycustomprefix
exclude result prefixes= msxml umbraco library mycustomprefix msxsl >
<xsl:output method= xml omit xml declaration= yes />
<msxsl:script language= CSharp implements prefix= 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:value of select= $numberToTest />
</xsl:template>
</xsl:stylesheet>
上面代码实现了一个testNumber函数 当输入数值大于 时返回 小于 时返回数值 例子很简单 看一眼就明了 不过去对喜欢xslt的同仁带来很大的发挥空间哦
二 用JavaScript
<?xml version= encoding= UTF ?>
<!DOCTYPE xsl:Stylesheet [ <!ENTITY nbsp &#x A ; > ]>
<xsl:stylesheet
version=
xmlns:xsl= %
xmlns:msxml= urn:schemas microsoft :xslt
xmlns:msxsl= urn:schemas microsoft :xslt
xmlns:umbraco library= urn:umbraco library
xmlns:mycustomprefix= urn:mycustomprefix
exclude result prefixes= msxml umbraco library mycustomprefix msxsl >
<xsl:output method= xml omit xml declaration= yes />
<msxsl:script language= JavaScript implements prefix= 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:value of select= $numberToTest />
</xsl:template>
</xsl:stylesheet>
和使用C#一样 不多说了
现在就可以实现那个split函数了 是吧?不用那个substring before和substring after了哦
cha138/Article/program/net/201311/13790相关参考