知识大全 用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

相关参考

知识大全 用javascript模拟C#的[Attribute]用法

用javascript模拟C#的[Attribute]用法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 C#与javascript简单交互

C#与javascript简单交互  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  呼叫js  R

知识大全 解答关于C#的JavaScript函数的问题

解答关于C#的JavaScript函数的问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如何

知识大全 JavaScript获取后台C#变量以及调用后台方法

JavaScript获取后台C#变量以及调用后台方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Javascript和C#之间的互相调用和访问

Javascript和C#之间的互相调用和访问  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这

知识大全 C# 扩展方法使用

C#扩展方法使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为指定类型扩展方法  定义类Cl

知识大全 javascript模拟实现C# String.format函数功能代码

javascript模拟实现C#String.format函数功能代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶

知识大全 使用C#编写扩展存储过程

使用C#编写扩展存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  什么是扩展存储过程?  

知识大全 了解C#特性扩展方法

了解C#特性扩展方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    在我们的编程生涯中我们要

知识大全 了解C#特性扩展方法[1]

了解C#特性扩展方法[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在我们的编程生涯中我们