_C/C++语言_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

用C#或JavaScript的扩展XSLT

作者:黑客防线网安C/C++教程基地 来源:黑客防线网安C/C++教程基地 浏览次数:0

本篇关键词:扩展/> select
    今天在umbraca上看到这样一篇文章可以利用C#和JavaScript扩展XSLT说实在的,以前不知道�凹柑炜吹接形徊┲魇迪至艘桓鰏plit方法,利用原有的xslt函数,现在看来可以直接编程实现一个split函数了哦
下面看下怎么用C#和JavaScript扩展XSLT:
一、使用C#
先上代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:Stylesheet [  <!ENTITY nbsp "&#x00A0;"> ]>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform%22
xmlns:msxml="urn:schemas-microsoft-com:xslt"
xmlns:msxsl="urn:schemas-microsoft-com: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> 5 || num<= 0 || num== null)
{
return 5;
}
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函数,当输入数值大于5时返回5,小于5时返回数值。例子很简单,看一眼就明了,不过去对喜欢xslt的同仁带来很大的发挥空间哦。
二、用JavaScript
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:Stylesheet [  <!ENTITY nbsp "&#x00A0;"> ]>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform%22
xmlns:msxml="urn:schemas-microsoft-com:xslt"
xmlns:msxsl="urn:schemas-microsoft-com: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> 5 || num<= 0 || num== null)
{
return 5;
}
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了哦

    希望这篇用C#或JavaScript的扩展XSLT的文章能够对您有所帮助,如果您觉得这篇网站维护教程有用的话,别忘了推荐给您的朋友哦!如果您有好的经验方法,不妨拿出来和大家一起分享:假如每个人都拿出一个经验,那么我们都将额外的获取一堆他人的经验。
请记住本站永久域名:(黑客防线网安服务器维护方案维护基地)Www.Rongsen.Com.Cn
    黑客防线网安服务器维护方案本篇连接:http://kj.rongsen.com.cn/show-15304-1.html
网站维护教程更新时间:2012-04-04 22:52:58  【打印此页】  【关闭
0
顶一下
0
踩一下
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer